Чи буде розміщення HTML із сторінки переадресації 301 в документ виконувати ту саму функцію, що і реальне переадресація 301?


15

У веб-відладчику html сторінки переадресації 301 відображається як:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.website.com/webpage.htm">here</a>.</p>
</body></html>

Мені доводиться перенаправляти HTML-сторінки без підтримки сервера. Якщо я заміню HTML-сторінки на код вище, чи буде це так само, як написання переадресації 301 у .htaccess на apache? Я переглянув це в Google, але сайти, що розповідають про 301 переадресацію, не охоплювали цю опцію для перенаправлення сторінок html.

Відповіді:


18

В ідеалі ви надішлите 301 код статусу відповіді HTTP. Якщо ви не можете зробити це, то негайне мета-оновлення також буде працювати і вважатиметься перенаправленням 301 або 302 залежно від пошукової системи .

<meta http-equiv="refresh" content="0;url=http://example.com/new.html">

Частота оновлення повинна дорівнювати нулю, щоб вона вважалася перенаправленням 30 разів.


Дякую, ця стаття дуже чітко сформулює процес. 0 затримка мета-оновлення у моєму прикладі html вище = бідний чоловік 301.
JMC

10

Ні, проста заміна HTML на ваш приклад не дасть ефекту, який ви шукаєте. Він просто покаже користувачеві цю сторінку, оскільки Apache надсилатиме разом із нею код статусу "200". Користувачі зможуть натиснути на посилання, щоб знайти сторінку, але це не відбудеться автоматично, і павуки не дізнаються, що ви маєте намір здійснити постійне перенаправлення ресурсу.

Вам потрібно буде використовувати належну директиву Redirect або _mod_rewrite_ в будь-яких .htaccess або ваших конфіскаційних файлах Apache .

Крім того, якщо ви фактично використовуєте PHP або щось подібне, ви можете встановити код повернення на 301, вивести заголовок відповіді Location і тоді ваше веб-рішення буде працювати. У PHP це виглядатиме приблизно так:

<?php
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://www.new-url.com" );

+1 Хороші бали про код 200 статусу. Не думав про це. На жаль, це сервер IIS, і я не маю доступу глибший за ftp. Сторінки є .html, тому перенаправлення asp не оброблятиметься.
JMC

У цьому випадку найкраща відповідь Джона Конде - я забув про еквівалентність метаоновлення.
Hissohathair

3

Погодьтеся з Hissohathair, що ваш підхід насправді не буде перенаправлений. Користувачі можуть знати, що натискати на посилання, але початкова сторінка все одно поверне нормальний код статусу "200" і надалі відображатиметься в результатах пошуку (можливо, не зовсім те, що вам потрібно).

Для підтримки рейтингу сторінки надзвичайно важливими є 301 код статусу. Додавання тегів для метаоновлення також є хорошим варіантом і може допомогти у більшості випадків (відповідно до відповіді Джона), але, можливо, вам не буде гарантовано, що пошукові системи в майбутньому сприймуть це як переадресацію 301. Додавання належних переадресацій до ваших .htaccess (або файлів Apache conf) було б найкращим варіантом, щоб гарантувати надсилання коду стану 301.

Редагувати:

========================

Для веб-сайту IIS7, поки встановлений модуль перезапису URL-адреси IIS, ви можете створити правила переспрямування в web.config для сайту. Ці правила також застосовуватимуться до файлів .html. Більше інформації тут:

http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/

========================

Іншою альтернативою, якщо ваш веб-хост не має .htaccess / mod_rewrite можливостей, може бути зміна веб-хоста, який ви використовуєте, де можна налаштувати переадресації на сторону сервера. Поки сайт належним чином переміщується, він повинен бути досить непоганим для ваших користувачів. Такий підхід був би лише у крайніх випадках, якщо підтримка рейтингу сторінки вкрай критична.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.