Проблема с 301 редиректом и Wordpress или Почему не индексирует Яндекс
16.03.2008 от Иван ШиркоСтраница: 1 2
Disallow: /wp-register.php
Host: delphiblog.ru
Выделенная строчка указывает поисковикам (Google её, насколько я знаю, игнорирует), что основным сайтом надо считать delphiblog.ru, а не www.delphiblog.ru.
В итоге получилось следующее: при обращении к http://delphiblog.ru/ возвращается 200. http://www.delphiblog.ru/ – возвращается 301-й редиректит на сайт без www. Через сутки главная страница уже появилась в индексе Яндекса с нормальным описанием. Теперь осталось дождаться апа выдачи:)
Я понимаю, что это решение далеко не идеально, и все 301 редиректы убирать из Wordpress не есть гуд, но пока я не нашел точного решения проблемы, пришлось применить эти «драконовские» меры. Надеюсь, кому-то этот пост окажется полезным, а может кто-то подскажет, в каком именно месте происходят эти «нехорошие» редиректы.
Добавлено 22.03.2008:
Кажется, найдено решение получше: в файле functions.php нужно добавить строчку
remove_action('template_redirect', 'redirect_canonical');
В принципе, этого достаточно, чтобы сайт возвращал ответ 200, но я бы все же добавил выделенные выше строчки в .htaccesss, чтобы делать redirect на сайт без www с сайта с www.
Иван Ширко
ishyrko@gmail.com
Страница: 1 2
Рубрики: Wordpress |
22.03.2008 в 14:22
Спасибо за методю.
Искал плагин карты сайта для блога, случайно напаролся на этот пост, и ужаснулся!
Все мои блоги на ВП выдавали 301 редирект… поправил с помощью вашего метода.
Кстати весьма странно что не у всех этп проблема…
Вопрос а почему это не самый лучший метод ? Какие проблемы, могут возникнуть.
Жду развития событий и самого лучшего метода. Ещё раз спасибо.
22.03.2008 в 21:09
Я рад, что этот пост помог. Насчет проблем метода: например, при изменении ссылки на пост при переходе на старую ссылку не будет редиректа на новую, еще в некоторых случаях не будет редиректа. Но найдено лучшее решение:в файле functions.php добавить строчку
remove_action(’template_redirect’, ‘redirect_canonical’);
23.03.2008 в 11:34
А можно по подробней, куда добавить и что сделать со старыми изменениями ?
спасибо 
23.03.2008 в 12:08
Можно) В админке открыть редактор тем, выбрать файл functions.php и первой строчкой добавить remove_action(’template_redirect’, ‘redirect_canonical’);
Сохранить. Со старыми изменениями: в файле canonical.php раскомментировать строку wp_redirect($redirect_url, 301);
Я у себя сделал так, вроде возвращается ответ 200
04.04.2008 в 21:09
А куда именно? =)
Кусок кода:
<?php if ( function_exists(’register_sidebar’) ) {register_sidebar();register_sidebar();}
// Custom Header Image Support
define(’HEADER_TEXTCOLOR’, ”);
define(’HEADER_IMAGE’, ‘%s/img/header.jpg’); // %s is theme dir uri
define(’HEADER_IMAGE_WIDTH’, 900);
define(’HEADER_IMAGE_HEIGHT’, 150);
define( ‘NO_HEADER_TEXT’, true );
04.04.2008 в 22:16
например, первой строчкой (после <?php):
<?php
remove_action(’template_redirect’, ‘redirect_canonical’);
if ( function_exists(’register_sidebar’) ) {register_sidebar();register_sidebar();}
…
05.04.2008 в 08:18
Иван, спасибо! =) Я подозревал, что именно так, но решил удостовериться, ибо чайник. =)
05.04.2008 в 10:18
В таких вещах лучше быть уверенным, а то одна неверная строчка может остановить работу всего сайта)
20.04.2008 в 09:39
Иван, а как вообще убрать 301-й редирект?
У иеня гугл проиндексировал с www а яндекс без, поэтому хочу чтобы нормально работал и не редиректил wordpress
20.04.2008 в 11:14
Чтобы отключить редирект с www, можно в functions.php первой строкой написать
remove_action(’template_redirect’, ‘redirect_canonical’);
30.04.2008 в 05:56
Если делать наоборот основным адрес с WWW, то при изменении строк пункта 2 на:
DirectoryIndex index.php index.html
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^delphiblog\.ru
RewriteRule ^(.*)$ http://www.delphiblog.ru/1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Блог начинает сам себя редиректит ьна индексную страницу бесконечно…
Что не так, не подскажете?
30.04.2008 в 08:08
RewriteCond %{HTTP_HOST} ^domen\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen.ru/1 [R=301,L]
Попробуйте те 2 строчки заменить на эти, только измените domen.ru на нужный адрес
13.05.2008 в 06:54
Столкнулся с похожей проблемой в прошлом. Не люблю яндекс, гугл лучше!
28.05.2008 в 12:20
Очень хорошее и полезное сообщение. Сам недавно искал в интернете данную тему и все обсуждения связанные с ней. Но только тут нашел хороший и качественный и что немаловажно полезный материал. Спасибо автору блога за предоставленную информацию.
03.06.2008 в 22:23
что касается темы, то мне кажется актуальность будет известна только через некоторое время
05.06.2008 в 00:08
Побольше бы такой infы
24.07.2008 в 15:36
Спасибо! Информация пригодилась.
01.09.2008 в 15:19
Вставлял строчку
remove_action(’template_redirect’, ‘redirect_canonical’);
Но, попрежнему редиректит либо с www, либо на www (смотря как в настройках блога вписать).
Может подскажете как сделать, чтобы и с www и без www не было редиректа.
Спасибо!
Wordpress 2.6
02.09.2008 в 12:22
iRedactor, даже не знаю, у меня на всех сайтах (WP 2.3 - 2.5, 2.6 пока нету) редирект убирается при помощи этой строчки… посмотрите, может в .htaccess прописан редирект
10.09.2008 в 18:59
мдяяяя ….. *много думал*….
автору спасибо за пост !!
16.09.2008 в 15:00
Спасибо за пост. Разобрался, думаю теперь всегда 200 будет! )
16.09.2008 в 20:08
Надо взять на заметку
22.09.2008 в 20:35
Случайно увидел. Не ожидал.
25.09.2008 в 16:12
Да, автору респект и уважуха
в wordpress версии 2.6.2 нету функции remove_action
заремил
//wp_redirect($redirect_url, 301);
//exit();
вроде идет 200 и редиректа нет
27.09.2008 в 21:19
Спасибо большое
а то я уже 3 месяца не в Яндексе - все искал в чем трабла, а посмотреть ответы сервера что-то не подумал
Теперь все гуд…..
Еще раз спасибо.
29.09.2008 в 08:54
>>в wordpress версии 2.6.2 нету функции remove_action
Спасибо за информацию, subnets, не знал, не добрался еще до нового Wordpress’a
29.09.2008 в 08:55
>>Спасибо большое
source, Рад что эта инфа оказалась полезной
04.10.2008 в 14:49
а robots.txt сильно помогает ускорить или облегчить индексацию? т.е. рекомендуете обновить если сайт уже в яндексе?
09.10.2008 в 19:52
мдяяяя ….. *много думал*….
автору спасибо за пост !!
09.10.2008 в 20:39
хм…ну это памойму уже крайность…
14.10.2008 в 04:15
“Мало кто может похвастаться такой смекалкой, как у автора”
15.10.2008 в 20:22
Я извиняюсь может я чего то не дочитал или чего-то не допонял я просто новичок, скажите мне такую ситуацию: уменя был сайт на простых html страничках перешел я на wp, со старых страниц поствил редирект 301 на хостинге, Гугл все индексирует, в яндексе в поиске вместо названия страниц url страниц с нового сайта вообще нет в индексе. Что делать если можно помогите, дайте подробную инструкцию. Спасибо!
15.10.2008 в 20:27
Забыл сказать у меня wp 2.6.2
20.10.2008 в 18:06
У меня такая же трабла, спасибо , сейчас попробую сделать. С меня пиво
02.11.2008 в 04:56
Спасибо очень кстати. Я с хостером 2 дня переписывался, почему у меня сайт дает ответ 301. Действительно проблема WP.
08.11.2008 в 20:04
пока я жив, я буду помнить ваш ресурс
заношу в букмарки….
11.01.2009 в 16:32
[…] (ну нужно мне ) я натолкнулся на пост под названием “Проблема с 301 редиректом и Wordpress или Почему не индексир
14.01.2009 в 03:15
Может кто-то что-то подскажет…
(соответствующая опция “индексировать” включена в вордпрессе)
autosvit.net.ua вообще не индексируется
05.02.2009 в 21:37
В Wordpress 2.7, если я правильно все понял просто надо remove_action(’template_redirect’, ‘redirect_canonical’);
прописывать не в functions.php, а в canonical.php
19.02.2009 в 20:38
[…] Яндексом, я решил, что ожидание слишком затянулось. Предложенное Иваном Ширко решение этой проблемы мне не понравилось - он предлагает, по сути, просто […]
24.02.2009 в 12:48
После смены движка на WordPress 2.7 сайт не индексируется.
В Яндекс.Вебмастер в индексе только: http://****.ru/ без заголовка и описания.
В ошибках растет число ошибок при индексации страниц:
HTTP-статус: Ресурс перемещён навсегда (301)) - 11
/ 28.01.2009 17.02.2009
/articles/a4 17.02.2009 17.02.2009
/articles/a5 17.02.2009 17.02.2009
/articles/a6 17.02.2009 17.02.2009
/articles/a7 17.02.2009 17.02.2009
/pic/g8 17.02.2009 17.02.2009
/pic/g9 17.02.2009 17.02.2009
/service/corporation 17.02.2009 17.02.2009
/service/love 17.02.2009 17.02.2009
/service/reportage 17.02.2009 17.02.2009
/service/wedding 17.02.2009 17.02.2009
В инете нашел материал по похожим проблемам, на данный момент стоит редирект 301 в .htaccess
DirectoryIndex index.php index.html
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.****.ru$ [NC]
RewriteRule ^(.*)$ http://****.ru/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
в robots.txt :
User-agent: *
Disallow: /wp-includes
Disallow: /wp-admin
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-login.php
Host: ****.ru
так же wp-includes/canonical.php закоменчены строчки:
// wp_redirect($redirect_url, 301);
// exit();
так же похожая проблема наблюдается там где в WordPress 2.7 не вносилось никаких изменений.
Огромная просьба помочь в решение проблемы!!!
02.03.2009 в 17:25
[…] в инете, я нашел статью, которая явственно указывает на то, что это косяк […]
31.03.2009 в 12:45
Тоже была подобная трабла. Вылечил этим же. Странно то, что WP одинаковый был на 10 сайтах, а 301 отдавал тока на 1. Я не разбирался.
15.04.2009 в 08:32
Иван, а у вас штаксес сейчас реально как в примере? Просто почему-то не вижу переадресации с www на версию без www
http://www.delphiblog.ru/2008/wordpress-301/
03.05.2009 в 10:48
to alexspb
это после переноса сайта забыл поменять htaccess, теперь вернул старый, спасибо
08.05.2009 в 16:23
яша вообще последнее время жадный стал
27.05.2009 в 20:05
Большое спасибо автору за полезную статью
17.07.2009 в 07:52
Умоляю, подскажите новичку, как узнать ответ сервера при обращении к сайту? У меня такая же проблема с перенаправлением и Яндексом-редиской:)
04.08.2009 в 16:21
При таких действиях перестает работать WPSuperCache, и все свои настройки ЧПУ
28.08.2009 в 10:23
У меня к вам вопрос. На одном моем блоге в яндексе всего 1 страница, а в google 40. С чем это может быть связано? Бана нет, я проверял
05.09.2009 в 05:54
Я полный чайник в этом((( Иван, подскажи, как закоментировать строчку…
Заранее спасибо!
23.09.2009 в 18:47
у меня на сайте не получилось исправить ошибку с помощью remove_action(’template_redirect’, ‘redirect_canonical’);
чем неприятным грозит простое отключение редиректа в вордпрессе по первоначальному рецепту?
27.09.2009 в 21:23
Боже мой, как я замучалась с этой ошибкой, уже всё что могла перечитала и перепробовала, никакого толка. А вот Вы мне так помогли! Всего одна строчка и счастье улыбнулось - 200 OK. Нет слов! Просто низкий поклон! Спасибо!
06.11.2009 в 09:29
То что надо!
От себя хочу еще добавить, что проверить редирект можно по этому адресу
10.12.2009 в 10:05
Большое спасибо за статью! Очень помогли разобраться.
22.04.2010 в 10:17
Все пишут как выключить редирект.
А вот как его включить? Много раз встречал блоги, которые от рождения этого не делают.
23.06.2010 в 23:50
Спасибо! Вы меня просто спасли! Чертов WP Super Cache постоянно менял .htaccess после чего сайт через www становился недоступен. Удалил эту заразу через админку на хостинге, так как он и удаляться не хотел добровольно!
05.07.2010 в 07:50
Наткнулся на статью случайно в поиске, симптомы были похожими - блог на ВП не индексируется яшей абсолютно.
На pr-cy “взглянул” глазами робота, и выяснил, что у меня ВСЕ страницы - 403 Forbidden.
Вот зе фак, простите мой французский? Не то, чтобы я был силен в ПХП, поэтому весь код сайта не пересмотрю (точнее толку не будет), но вроде бы я кардинальных изменений не вносил…
Помогите советом!
З.Ы. Сайт индексируется гуглом на ура - ?
05.07.2010 в 14:32
Огромное спасибо. Тоже недавно столкнулся с данной проблемой вордпресс. Спасибо за полезную информацию
13.07.2010 в 18:33
Тож долго мучался, вордпресс старый, помогла вставка
remove_action(’template_redirect’, ‘redirect_canonical’);
именно в файл canonical а не functions!!!
19.07.2010 в 08:11
А мне все это не помогло - prcy до сих пор мучает меня 403 ответом, хотя сайт работает и гуглом отлично распознается.
Обязательно ждать следующего апдейта ТИЦ, или я мог еще что-то забыть?
remove_action прописал, роботс.тхт поправил (проверка яндексом этого файла показала, что все в порядке) - и все-таки не попадает сайт в поиск
03.09.2010 в 09:09
Подскажите пожалуйсто, что значит такой код?
RewriteCond %{HTTP_REFERER} !^http://site.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://site.ru$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.site.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.site.ru$ [NC]
12.11.2010 в 07:59
СПАСИБ АВТОРУ И C.ONE
КОМЕНТИРОВАТЬ НАДО 2 СТРОЧКИ!
так же wp-includes/canonical.php закоменчены строчки:
// wp_redirect($redirect_url, 301);
// exit();
25.11.2011 в 12:45
не знаю сможете помочь или нет, но вот:
делаю 301 редирект таким образом:
Redirect 301 /stat/page.htm http://www.sait.ru/question/page.htm
все хорошо, но конечная ссылка на которую производится переход после редиректа выглядить как http://www.sait.ru/question/page.htm?url=stat/page.htm
как избавится от этого вопроса и ненужного окончания?
если можно то ответ на почту, так как не нашел как подписаться на комменты
15.02.2012 в 11:06
с утра блог отдавал 500 ошибку
02.05.2012 в 15:35
Такое лечиться только постепенным отслежыванием ощыбки. Делать что то на угад дело очень неблагодарное так как можно и ничего ненайти.