Почему мой Wordpress RSS-канал показывает IP-адрес и идентификатор сообщения, а не полный URL-адрес? - PullRequest
0 голосов
/ 05 февраля 2019

Для моего веб-сайта Wordpress по адресу example.com/feed/ я заметил, что мой RSS показывает IP-адрес и использует идентификатор сообщения, а не фактический URL.Это также показывает http вместо https.Это проблема с кешем?Я не могу понять, почему или как это исправить.В настоящее время RSS-лента показывает это для ссылки на страницу с контентом:

<guid isPermaLink="false">http://44.78.4.233/?p=3993</guid>

вместо

<guid>https://www.example.com/my-post/</guid>

Я заметил эту проблему после того, как заметил, что консоль поиска Google показывает тонну внутренних ссылок на страницы, которыедаже не существует, и все используют IP-адрес.Не уверен, связано ли это с моей подачей или нет.

Когда я впервые настраивал сайт, я использовал IP, прежде чем указывать домен.Должно быть, Google сканировал его еще до того, как я добавил его в консоль.Последнее сканирование было 14 января, что было незадолго до того, как я указал домен.Вот мой .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^44\.78\.4\.233$
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Options -Indexes

Сайт работает нормально.Перенаправляет весь трафик на предпочитаемый https.Также перенаправляет IP на https.Нет ошибок на валидаторе W3C.Также добавлены все версии сайта в консоль Google и проверено, а также установлена ​​предпочтительная версия как https://www. Также передан URL карты сайта https://www.example.com/sitemap_index.xml, созданный из плагина Yoast.Я проверил карту сайта, и она выглядит хорошо.

Попытка восстановления постоянных ссылок.Не удалось исправить проблему с RSS-каналом, которая по-прежнему показывает IP и идентификатор сообщения.Озадаченный.

1 Ответ

0 голосов
/ 05 февраля 2019

Постоянные ссылки WordPress предназначены для того, чтобы быть уникальными.Они не меняются, даже если вы измените предпочитаемый домен.Новые значения используют предпочтительный домен, но старые значения сохранят исходные значения, если вы не отредактируете значения вручную.Вы можете вручную отредактировать таблицу wp_posts, чтобы обновить guid, используя новое значение для домена, и вы вернетесь в нужное русло.

Вы можете использовать следующее для замены протокола и IP на новый протокол и домен во всех записях вашим любимым редактором SQL:

UPDATE `wp_posts` SET `guid`=replace(`guid`,'http://1.1.1.1/','https://example.com/');

Это не перестраивает часть пути,хоть.Вы можете сделать это для корневых элементов (если вы ничего не изменили по умолчанию) с этим ( caveat emptor ):

UPDATE `wp_posts` SET `guid`=replace(`guid`,'http://1.1.1.1/','https://example.com/' + `post_name`) WHERE (`post_parent`=0 AND `post_type` IN ('post','page'));

Это обновляет guid использовать новый протокол, домен и текущее значение post_name для всех типов post & page, у которых нет родителя (post_parent = 0).Имейте в виду, что URL-адреса дочерних записей / страниц и пользовательских постоянных ссылок будут по-прежнему вызывать проблемы для вас и потребуют пристального внимания для обеспечения их правильного восстановления.

...