Страничка 404 для Joomla 1.5

InoHacker
На сайте с 18.10.2009
Offline
75
482

Доброго времени сток, уважаемые.

Пару месяцев назад я перевел свой портал на новый движок (Joomla 1.5.14). Все материалы я перетащил, но пути к материалам, естественно, изменились. Так как яша и гугля не спешат переиндексировать мой сайт, я начал терять посетителей. В Li очень хорошо видно, что человек "сваливается" из поисковика по старой странице, попадает на главную и сразу сваливает :(

Нет, конечно на топовые ВЧ я поставил 301 редирект, но у меня еще достаточно много СЧ и НЧ по которым ко мне ходят. Ставить на все редирект (искать .. прописывать правила и т.д.) я счел слишком утомительным и решил пойти другим путем. А именно создать 404 страничку со следующим текстом "Похоже Вы попали на страницу, которая теперь находится по новому адресу. Вы ее обязательно сможете найти, воспользовавшись поиском на нашем портале.".

Я создал материал с таким текстом, потом чуть изменил код:

в файле templates/system/error.php (у Вас он может быть в папке вашего шаблона) все стер и вставил следующий код

<?php

/**
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
if ($this->error->code = '404') {
header("HTTP/1.0 404 Not Found");
} ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
defined('JPATH_BASE') or die();
echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=529');
?>

Где id= это id моего созданного материала.

Все заработало, Ура. Но через пару дней, проанализировав статистику, я понял, что посетители народ крайне ленивый и поиском пользуются процентов 10%, остальные все так же сваливают :fire: Уже результат, но хочется большего :)

Тогда мне подумалось, что было бы не плохо, если бы посетителю просто предлагалось бы тыкнуть по некой ссылке, которая выдавала бы ему результат поиска по моему порталу исходя из его запроса в поисковике. (Может мудрено, но дальше поймете).

Для реализации задуманного мне понадобилась возможность вставлять php код в материал. Как это сделать стандартными путями я не понял и тогда я нашел замечательный модуль (+плагин), котрый позволил мне осуществить задуманное.

Поставил. Настраиваем:

Справа:

#1 key - test2

#1 type - php (input code)

#1 code -

$ref = $_GET['test'];

$arr = parse_url($ref);
$res = explode('=', $arr[query]);
print $res[1];
/

Теперь опять меняем templates/system/error.php

<?php

/**
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
if ($this->error->code = '404') {
header("HTTP/1.0 404 Not Found");
} ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
defined('JPATH_BASE') or die();
$test = $_SERVER['HTTP_REFERER'];
echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=529&test='.$test.'');
?>

Добавил выделенное жирным.

Тепер в материал про ошибку добавляем следущее (я делал через редактор html):

Нажмите на ссылку:&nbsp;<a href="component/search/{{test2}} .html?ordering=&amp;searchphrase=all" mce_href="component/search/{{test2}} .html?ordering=&amp;searchphrase=all">{{test2}}</a>&nbsp;для поиска на нашем портале.

В результате имеем красивую страничку, которую Вы можете наблюдать если перейдете с этой ссылки на мой портал www.muskul.ru

Судя по статистике Li, посетители очень благоприятно восприняли данный сервис и теперь на портале остается до 80 процентов людей, пришедших по старым ссылкам =)

Извините за много букавок, но может кому пригодится =)

Магазин аккаунтов с балансом Litres,DNS,Ozon,Rotapost и еще 50+ других сервисов тут - vk.cc/7QK0Sk

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий