PHP(?) Или jQuery(?) Лучший способ изменить метатеги?

На моем сайте я представляю слайд-шоу контента, для которого я использую jquery. Таким образом, пользователь нажимает на стрелку, и отображается следующий div (который по умолчанию скрыт). Внутри каждого div (независимо от того, отображается он или нет) есть скрытые теги span, которые содержат заголовок контента, который просматривает пользователь, и сводку контента...

    <div id="content" style="display:block">
      <h2>Relevance of Oceanography</h2>
      <p>Some text</p>
      <span class="hiddentitle" style="display:none">Relevance of Oceanography</span>
      <span class="hiddencontent" style="display:none">Some content</span>
    </div>

    <div id="content" style="display:none">
      <h2>Seafloor Spreading and Earthquake Activity</h2>
      <p>Some text</p>
      <span class="hiddentitle" style="display:none">Seafloor Spreading and Earthquake Activity</span>
      <span class="hiddencontent" style="display:none">Some content</span>
    </div>

То, что я пытаюсь сделать, это заменить или обновить тег на основе скрытого в данный момент отображаемого содержимого div. Так как он хранится в базе данных, я подумал, что мог бы просто использовать php, но потом я понял, что, вероятно, это будет означать, что мне придется каждый раз перезагружать страницу, что в некотором роде лишает смысла иметь слайд-шоу... Но, тогда, если я использую jquery, я обеспокоен тем, что поисковые системы на самом деле не увидят мета-контент, так как он изменится после загрузки страницы...

Есть ли способ сделать то, что я пытаюсь сделать здесь, или я просто SOL?

3 ответа

Решение

Вам не нужно скрывать теги span, поскольку они уже находятся внутри скрытого элемента div.

С точки зрения паутинга и даже просто удобства использования, я бы предложил иметь индекс с постоянными ссылками на прямые изображения, тогда вам не нужно беспокоиться о том, что вы хотите сделать со слайд-шоу, и пользователи могут ссылаться на конкретное изображение.

Есть два способа сделать это: использовать JavaScript, чтобы просто изменить видимость элементов div. Это достаточно просто, просто изменили атрибут style.display элемента.

Для этого метода существует множество готовых решений jQuery, таких как LightboxJS. Вот их сводный список:

http://bradblogging.com/jquery/9-jquery-slideshow-applications-you-cannot-miss/

Другой - сделать AJAX-вызов для получения разметки. Это ограничивает начальную загрузку, но может замедлить переключение между изображениями.

Поисковые системы, скорее всего, не увидят ничего, что изменилось во время слайд-шоу. Возможно, вы захотите создать Google Sitemap, который будет содержать глубокие ссылки на каждую страницу вашего слайд-шоу. Вы все еще можете использовать jQuery для запуска слайд-шоу, просто предоставьте способ запустить слайд-шоу в любой точке с помощью параметра в строке запроса.

Часто хорошей идеей является реализация интерфейса без использования javascript перед добавлением jQuery. Таким образом, у вас все еще есть логика на стороне сервера для любого, кто просматривает сайт без JavaScript (f.ex searchbots).

Используя события щелчка и предотвращая действия по умолчанию, вы можете легко применить уровень интерфейса презентации, используя jQuery или собственный javascript на следующем этапе. Иногда вы можете повторно использовать серверную логику, используя Ajax.

Другие вопросы по тегам