Загрузка части контента на WordPress с помощью AJAX
Сергей Сосновский в своем блоге рассказывал, что с помощью технологии AJAX в целях поисковой оптимизации скрыл часть содержимого сайта от поисковых систем (что, кстати, не является клоакингом). Технически реализовал это я. Поскольку нашлось много желающих повторить то же самое на своих блогах, попытаюсь донести информацию ...
Комментарии (198)
Ну реализовать же можно? или нельзя!?
Попробуйте путь к картинке прописать через произвольное поле, а саму ссылку на картинку закрывать с помощью советов на странице alaev.info/blog/post/4042. А почему Вы решили, что это нужно делать? Дайте ссылку на источник информации.
Информацию давно узнал, инфа как Я понял досих пор не в паблике.. Не помню как их зовут, но вродебы это кто-то из создателей сервисов сеопуль, мегаиндекс или веб-эфектор, кто-то из них.. Они в основном раньше всё время вдвоём высутпали..
Интересует как вообще выводить ajax-ом не только все картинки, но и любые блоки сайта, при это чтобы при изменении виджетов в сайдбаре автоматом всё менялось..
автор, как с помощью ajax вывести полную новость wordpress?
Привет, Dimox. Сильное решение, спасибо. У меня такой вопрос. Насколько актуально закрывать контент от индексации таким способом сейчас. Пишут что google научился индексировать ajax.
Тут под заголовком “Ajax и Google” есть информация на этот счет.
Спасибо, прочитал. Мне интересно ваше мнение, вы все-таки творец решения. Можно коротко(стоит не стоит)
Стоит.
Спасибо. Уже сделал. В роботс подгруж. страницу закрыл, закрыл подгружаемую страницу даже
<meta name="robots"
способом. После проверки отпишусь, спасибо еще раз. Удачи в творчестве. А есть ли способ закрыть js от индексации не знаешь?Точно также через robots.txt.
А как правильно надо прописать, например если надо закрыть custom.js
User-agent: *
Disallow: /custom.js
В Интернете легко можно найти, как это делается.
Да вполне обыяно, просто не видел чтобы кто-то закрывал js. Спасибо.
Браво! это классное решение, мне сильно помогло! Спасибо автору!
У Вас отличный блог!
Сделал вывод меню на своем сайте по второму способу. Но, обнаружил проблему.
Раньше меню было с раскрывающимися пунктами, а теперь оно всегда одинаковое. Подскажите, как передавать адреса страниц в Ajax запрос, чтобы функции меню остались прежними?
Не знаю, как это сделать.
Спасибо. Понятно написано. Все сделал как описано выше. Только сайдбар весь в абракадабре выводится. Уже и кодировку менял в UTF-8 c BUM – без BUM. Не помогает. Есть решение?
Очень круто! Спасибо! Пока сделал только для рубрик, но уже победа!
Здравствуйте! Скажите пожалуйста, а как можно скрыть ссылки в комментариях? Заранее спасибо!
А что хостер конкретно написал ? В чем причина ?
Дело в том, что Аякс выполняется на стороне пользователя и мне кажется наоборот – разгружает сайт. Вообще после внедрений таких вещей проблем с нагрузкой не возникало при большой посещаемости.
Случайно не тому пользователю написал (
Ответ предназначался Павлу.
– это бред. Он выполняется на сервере. И соответственно нагружает сайт. Один запрос – это примерно как генерация одной страницы. Т.е. вы заходите на страницу (один запрос) и нажимаете на кнопку подгрузки (это второй запрос) . Проще генерить статику – потом это кэшировать для незарегистрированных пользователей, и отдавать им из кэша. Срок кэша или сутки, или по факту – добавился комментарий, обновилась статья… А не заниматься ерундой. Архив генерить аяксом…
Я понимаю фильтр на аяксе или поиск.
А как пример в статье для других целей – неплохой
Можете подсказать как сделать так, чтобы подгруженные части через Аякс кэшировались?
Или помочь в решении данной задачи. В долгу не останусь :-)
Здравствуйте!
Отличное решение, спасибо.
Но у меня такой вопрос:
Данное решение создает очень большую нагрузку на сервер. При трафике в 1000 посетителей от хостинга уже приходят письма, что превышена допустимая нагрузка. Есть ли способ оптимизировать нагрузку на сервер?
В этом я, к сожалению, не разбираюсь.
Написал вам выше.
Хостер предоставил статистику запросов к файлам.
Максимальное количество запросов как раз у файлов где содержаться части подгружаемого контента.
Пример:
У файла подгружаемого аяксом 14851 запросов в неделю, а у ближайшего “конкурента” в данном случае у конкретной статьи 1575 запросов.
На данный момент у меня 2 файла подгружаемых аяксом на странице. Вместе получается примерно 30000 запросов в неделю.
До этого у меня было 6 таких файлов. Убрав 4 из них мне удалось снизить нагрузку примерно на 40-50%.
В дни пиковой посещаемости нагрузка снова сверх допустимой.
Точно все правильно сделали ? Кеш в Яндексе\Гугле проверили – точно не видит бот его ?
У меня на WP последней версии с посещалкой от 3-4К нет проблем, а хостер далеко не самый дорогой. Даже не VPS, shared обычный.
Да, все сделал правильно. Кеш проверил, бот не видит.
Я делал с помощью второго способа. Вы с помощью какого делали?
Возможно имеет смысл добавить контент из аякс-файлов непосредственно в файл single.php. Тем самым не будет запросов к дополнительным файлам. Подскажите пожалуйста как это сделать, если в курсе.
Ребята подскажите пожалуйста, если нужно спарятать категорию товаров (список ссылок-картинок с ценами) которая выводится шорткодом плагина-магазина Wooсcommerce. Будет ли вы водится этот список товаров на странице если поместить шорткод в файл предложенным выше методом?
Здравствуйте, Dimox !
Подскажите пожалуйста, если я на своем сайте реализовал вывод контента через AJAX по 2 способу, то что закрывать в robots.txt ?
Файл ajax_archives.php таким образом:
Disallow: /wp-content/themes/theme_name/ajax_archives.php
Правильно ? Не могу понять этот момент.
Да, все верно.
Подскажите пожалуйста как реализовать скрытие от поисковых систем кода тизерных блоков? Данные примеры здесь не выводят блоки с рекламмой((( Может потому что код тизеров содержит свой javascript? Очень надеюсь на Вашу помощь! Заранее спасибо!
От наличия JavaScript ничего не зависит. Скорее всего, что-то неправильно делаете.
Здравствуйте, подскажите, как в статье вывести ее заголовок, с помощью Ajax. К примеру простой текст выводится без проблем, а вот php функции почему-то не работают.
Скажите как вызвать JS событие после полной подгрузки контента этим скриптом:
$(“#archives”).load(“http://ВАШ_ДОМЕН/wp-content/themes/ПАПКА_С_ШАБЛОНОМ/ajax_archives.php”);
Нашел способ:
$(‘#ajaxCatalog’).bind(‘DOMNodeInserted’, function(){
$(“#archives”).html(”);
});
http://ru.stackoverflow.com/questions/462701/Событие-изменения-содержимого-тега
Благодарю за полезную статью!
Похоже что это самый простой варианты из всех, что я сегодня видел