Главная WordPress

Загрузка части контента на WordPress с помощью AJAX

Загрузка части контента на WordPress с помощью AJAX

Сергей Сосновский в своем блоге рассказывал, что с помощью технологии AJAX в целях поисковой оптимизации скрыл часть содержимого сайта от поисковых систем (что, кстати, не является клоакингом). Технически реализовал это я. Поскольку нашлось много желающих повторить то же самое на своих блогах, попытаюсь донести информацию ...

Комментарии (198)

  1. Подскажите, а как понять, что я все настроил правильно, и что аякс работает?

  2. Сайты, на которых применил это, повылетали в сегодняшний апдейт по всем запросам из Яндекса (около 300 запросов по разным тематикам). Точно такие же, на которых не успел сделать — остались.

  3. Виталий Макаркин
    12 лет 3 месяца назад

    Dimox, супер все получилось.

    Возникла загвоздка в п. 5

    Вместо ВАШ_ДОМЕН/ajax_archives/ подставьте адрес выше созданной страницы.

    но все решилось так:

    1. Создать страницу (публиковать её не надо!!!)
    2. Надать «Предосмотр»
    3. Скопировать тот адрес без &preview=true
    4. ---
    5. Profit

  4. Виталий Макаркин
    12 лет 3 месяца назад

    Попробовал на другом сайте.

    Пустое окно. Хотя когда открываю страницу, то содержимае показывается.

    Возможно какой-то плагин мешает?

  5. А если сайт кэшируется, то ajax бессилен? Скрываемые ссылки поисковики увидят? Благодарствую!!!

  6. Здраствуйте Дмитрий! Все настроил, все работает, но когда выхожу из админки то содержимое которое выводится через Ajax не отображается, если авторизируюсь то все отображается. В чем может быть загвоздка?

    • Может быть у вас стоит плагин кэширование и нужно сбросить кэш. Других причин не представляю.

      • Плагин не стоит, пробовал все плагины отключать, но проблема осталась. По логике вещей раз все работает когда я авторизирован значит и без авторизации должно работать? Но что-то мешает, не пойму что…

        • Скорее всего вы когда создали страницу на втором шаге «Зайдите в админку WordPress и создайте новую страницу. Назовите ее как угодно, например „Список архивов“. Справа в блоке „Атрибуты страницы“ выберите шаблон „AJAX список архивов“», то присвоили ей Видимость «Личное». Тогда она будет отражаться когда вы залогинитесь и не будет соответственно когда разлогинитесь.

          Вот на моем сайте щас попробовал, у меня одна страница отвечает за вывод последних новостей на Главной, а другая на одиночной записи. А на той, что на одиночной присвоил статус Личное, теперь она не показывается. А на главной отображается, потому как видимость Открыто. Попробуйте, может в этом дело?

        • Да, должно работать в обоих случаях.

  7. А чтобы исключить страницу из списка страниц, если он есть, то надо либо в шаблоне поправить (exclude=id_страницы), либо плагином каким-нибудь, который позволяет исключать страницы.

  8. В том месте файла sidebar. php, где вы хотите увидеть список архивов, вставьте такой html-код:

    _______________

    А какой код вставить, чтобы на sidebar сослаться?! (вместо архивов Я вынес весь сайдбар, причём когда с панели админа меняю, добавляю виджеты, то меняется сайдбар вынесенный ajax-ом — это хорошо)

  9. Ураа! Работает! Осталось ещё хлебные крошки убрать и соц. кнопки под постами, ну и может ещё фуутер. Благодарствую!!!

  10. Ещё один вопрос. У меня несколько сайдбаров, для каждого нужен отдельный файл scripts. js?!
    Или можно добавлять к прежнему? благодарю!!!
    (function ($) {
    $(function () {

    $(«#archives»).load ("http://ВАШ_ДОМЕН/ajax_archives/");
    $(«#archives»).load ("http://ВАШ_ДОМЕН/ajax_archives2/");
    $(«#archives»).load ("http://ВАШ_ДОМЕН/ajax_archives3/"); и тд…
    })
    })(jQuery)

  11. А если просто перейти по адресу созданной страницы должно отображаться содержимое?

  12. У меня в шаблоне 2 сайдбара, можно создавать дополнительные. Я выгрузил вместо архивов весь сайдбар

    и теперь сайдбар грузится ajax-ом на всех страницах и постах. До подключения, на страницах был один сайдбар, и на страницах постов другой, а теперь на всех один и тотже. Как можно исправить?!

  13. Не могу понять в чём дело. Создал wp-ajax-sidebar.php в него скопировал всё из sidebar. php, и в sidebar. php вставил вместо скопированного кода. Сайдбар грузится, но грузится везде, на страницах где должен быть другой сайдбар1 грузится этот сайдбар, а сайдбар1 либо грузится, но не показывается пользователю, либо не грузится…
    Причём, если отключить ajax и поставить все коды на место, то всё нормально. Странно получается другие сайдабы грузятся именно этим (sidebar.php) сайдбаром, но если его сделать на ajax-е, то он перестаёт работать как должнен.

  14. а как придать стиль для архивов?! вывожу отдельными блоками, меняется стилиь…

  15. Сделал все, как описанно. Ничего не работает. Даже код одинаковый ставил. Jquery проверил, в блок методом text добавил текст. Метод Load не работает.

  16. А как это все сделать на DLE?

  17. Метод классный. Сделал на сайте http://www.lato.kiev.ua/. Единственная проблема возникла с вордпресс-плагином qTranslate. Футер всегда загружается на русском, без перевода. Может, кто-то найдет метод победить эту ситуацию?

  18. Супер. Очень просто и доходчиво. Особенно понравилось, что код оптимален и нет ничего лишнего. Спасибо.

  19. Привет.
    Сделал все как написано. (хочу скрыть верхнее меню)
    Получилось — подгружается меню аяксом.
    Только ссылки от туда точно такие же как и без аякса. с каждой позиции Главная — т. е. я не понимаю в чем суть. Все как и без аякса.

  20. С отображением ссылок я разобрался.
    Вопрос следующий: отлично подгружется меню, теперь хочу второй блок закрыть аяксом, но второй ни в какую не хочет работать. (даже два

    <div id="archives"></div>

    рядом не работают.)
    Создал:
    ajax_archives2.php
    scripts2. js страницу с ajax атрибутами из ajax_archives2
    вставил в код

    <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/scripts2.js"></script>

    второй блок не отображается ни при каких обстоятельствах.
    Уверен, что все это можно сделать, но я не могу понять как?
    буду очень признателен за помощь.

Ваш комментарий