SEO Сообщество: Спрашивайте и помогайте

Присоединяйтесь к сообществу профессиональных веб-мастеров PR-CY, отвечайте на вопросы коллег и задавайте свои.

Q&A SEO

Dle: код ответа страницы 200 вместо 404

goldkino goldkino  
29
  25.05.2016 22:09       3 574    
Ребят, всем привет, нарисовалась не дающая мне спать проблема). Виду сайт на dle платформе и очень щепетильно отношусь к дублям (по возможности допиливаю функционал под себя), но тут появилась вот какая штукенция: 404 страница отдаёт двухсотый ответ, и никак не могу побороть эту бяку. Кто сталкивался с этой проблемой, пожалуйста не проходите мимо - помогите утопающему.)

a271143f0df5.jpg

Ответы на пост (6) Написать ответ
sneiks sneiks
11
26.05.2016 10:15
Сделай правки по этой статье: http://gameer.name/dle/16 И забудь про редирект 301 это грубая ошибка!
0
Решение
Ivan_Golovinov Ivan_Golovinov
157
25.05.2016 23:42
Сделай 301-редирект! Лучше чем пустая страничка!
0
goldkino goldkino
29
26.05.2016 17:51
тут мнение расходятся: 50% говорят лучше 301 и 50% 404 страница...
0
erika74 erika74
26
26.05.2016 04:20
Включите отображение ошибок и предупреждений, если хедер не отправляется, то пхп ругнется на что-то что отправлено раньше (а так нельзя).
0
dimkass dimkass
217
03.06.2016 06:59
Делаем страницу для ошибок 404, 401, 400, 403, 500 для DataLife Engine.
В ".htaccess" ищем:
RewriteEngine On
Вставляем выше:
ErrorDocument 400 http://site.ru/index.php?do=found&400
ErrorDocument 401 http://site.ru/index.php?do=found&401
ErrorDocument 403 http://site.ru/index.php?do=found&403
ErrorDocument 500 http://site.ru/index.php?do=found&500
ErrorDocument 404 http://site.ru/index.php?do=found&404
Замените в выше вставленом коде адрес сайта.
В файле "engine/engine.php" ищем:
switch ($do) {
Вставляем ниже:
case "found":
if(isset($_GET['400'])) {
$title="неверный запрос (400)";
$e=400;
}elseif(isset($_GET['401'])) {
$title="требуется атворизация (401)";
$e=401;
}elseif(isset($_GET['403'])) {
$title="ограничение доступа (403)";
$e=403;
}elseif(isset($_GET['404'])) {
$title="файл не найден (404)";
$e=404;
}elseif(isset($_GET['500'])) {
$title="перезагрузка сервера (500)";
$e=500;
}else {
$title="файл не найден (404)";
$e=404;
}
$metatags['title'] = "Название сайта - {$title}";

$tpl->load_template( $e.'.tpl' );
$tpl->compile( 'content' );
break;
Не забываем создать шаблоны 400.tpl, 401.tpl, 403.tpl, 500.tpl, 404.tpl
0
dimkass dimkass
217
03.06.2016 07:06
Если страница файл 404 уже есть, то некоторые суют вот такой код в файл 404.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=http://www.bi.com/">
</head>
<body>
<a href="/">Идёт загрузка</a>
</body>
</html>
0