Имея хороший сайт, вебмастер неизбежно вкладывает в него свои если не финансовые стредства, то свое время точно. Совершенно не грех получить какую-то компенсацию за свою работу в виде WMR или WMZ. Сегодня наверное самый удобный способ монетизации своего сайта, это продажные ссылки. И конечно рекомендую биржу ссылок Sape.
О стратегии заработка в интернет писалось уже не однократно, но сейчас я хочу остановиться на некоторых тонкостях установки кода Sape на сайте под Joomla.
В общем случае код сапы для сайтов на PHP выглядит так:
<?php
if (!defined('_SAPE_USER')) {
define('_SAPE_USER', 'уникальный_код_вебмастера');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
?>
Этот код должен устанавливаться на все страницы сайта в файле index.php темплейта сайта. Напомню, что в Joomla темплейты (или шаблоны), определяющие внешний вид сайта, храняться в папке /templates/имя_шаблона/. Соответственно файл в который нужно устанавливать код сапы: /templates/имя_шаблона/index.php. Однако, код в "чистом виде" работает не всегда, в частности, если у вас Joomla 1.5 и выше, то крайне желательно явно указать кодировку для вывода ссылок, в противном случае ваш красивый сайт может увенчать не красивая череда кракозябров. Для этого добавим перед созданием нового объекта sape код $o[ 'charset' ] = 'UTF-8';
Теперь код sape выглядит уже так:
<?php
if (!defined('_SAPE_USER')) {
define('_SAPE_USER', 'уникальный_код_вебмастера');
} require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'UTF-8';
$sape = new SAPE_client();
?>
Если вы не включаете SEF для своего сайта, то этого достаточно, но если SEF включено, то с большой вероятностью ссылки на страницах вашего сайта не появятся, а сама сапа при добавлении сайта просит указать страницу, на которой установлен код. Исправить ситуацию можно добавлением переменных: $o['force_show_code'] = true; и $o['request_uri'] = $_SERVER['REDIRECT_URL'];.
В окончательном виде для сайта на Joomla 1.5.x и выше, код Sape должен выглядеть так:
<?php
if (!defined('_SAPE_USER')) {
define('_SAPE_USER', 'уникальный_код_вебмастера');
} require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'UTF-8';
$o['force_show_code'] = true;
$o['request_uri'] = $_SERVER['REDIRECT_URL'];
$sape = new SAPE_client();
?>
Хотите знать больше? Нажмите "Нравится"
Но и это еще не все. Непосредственный вывод ссылок осуществляется кодом <?php echo $sape->return_links(); ?>. В этом коде в скобках можно указывать количество выводимых ссылок. Другими словами весь массив ссылок можно разделить на блоки, причем в последнем блоке количество выводимых ссылок указывать нельзя.
<?php echo $sape->return_links(2); ?>
<?php echo $sape->return_links(2); ?>
<?php echo $sape->return_links(); ?>
Рекомендуется размещать блоки ссылок в разных местах страницы и не закупать более 5-ти ссылок на страницу. Здесь мы косвенно касаемся темы взаимоотношения Яндекса и продажных ссылок, которую рассмотрим позже.
Комментарии
Код в подвале означает, что код сапы находится близко в закрывающему тегу body.
Соответственно, чтобы избежать сообщения "код в подвале" переместите код сапы ближе к начальному тегу body. Если вы это делаете через модуль, то определите для него позицию, которая публикуется выше (расположение позиций надо смотреть в коде индексного файла шаблона).
И еще, в модуле типа "html" нельзя размещать php код.
Разберем что такое видимая часть сайта.
Предположим, что код сапы обернут дивом с id="sape", а в css определено:
Цитата: В этом случае, независимо от того в каком месте кода сайта находится код сапы - он будет размещен в невидимой части сайта.
145 строка
161 строка
162
163
P.S. Я не пользуюсь "Sape Module" всегда код вставляю непосредственно в индексный файл.
подскажите в чем может быть проблема?
Посмотрите плагин Система - Запрет индексации внешних ссылок, у меня однажды из-за него не пускала Sapa
return_links(); ?>
что делать??
Эта строка выводится прямо в тексте страницы?
строка для показа ссылок помещена в html модуль и в месте показа этого модуля вместо ссылок та строчка
посмотрите здесь spartan-wars.in fo
Не уверен, что этот код можно вставлять через html модуль. Его надо вставлять непосредственно в темплейте. Или попробовать использовать функцию eval, хотя опять не уверен.
Кстати, надо поправить заголовок страницы.
У вас там объявление DOCTYPE как html5, а в теге html заявляется xml, что не есть правильно.
Можно так:
<!DOCTYPE html>
<html lang="ru-ru">
И убрать пустую строку перед объявление DOCTYPE
а код показа ссылок так:
Проблема была в том, что код вызова ссылок нельзя делать модулем, его нужно вставлять непосредственно в index.php шаблона.
Все это на joomla3
Ничем принципиальным установка кода на Joomla 1.5 от 2.5 не отличается. Пришлите на wminfo
Warning: require_once() [function.requi re-once]: open_basedir restriction in effect. File(/usr/local /apache/htdocs/ уникальный код/sape.php) is not within the allowed path(s): (/home/:/usr/li b/php:/tmp) in /home/юзер/publ ic_html/templat es/beez5/index. php on line 6
Warning: require_once(/u sr/local/apache /htdocs/уникаль ный код/sape.php) [function.requi re-once]: failed to open stream: Operation not permitted in /home/юзер/publ ic_html/templat es/beez5/index. php on line 6
Fatal error: require_once() [function.requi re]: Failed opening required '/usr/local/apa che/htdocs/уник альный код/sape.php' (include_path=' .:/usr/lib/php: /usr/local/lib/ php') in /home/юзер /public_html/te mplates/beez5/i ndex.php on line 6
. где заключить тег куда поставить.покаж ите сразу на примере и всеми описывающими функциями
На сообщения типа "Warning" можно внимания не обращать, а вот "Fatal error" говорит о наличии критической ошибки, из-за которой работа не возможна. В конкретном случае скрипт не может найти файл '/usr/local/apa che/htdocs/уник альный код/sape.php'. Либо вы не разместили папку с именем "уникальный код" в корне сайта, либо в коде index.php "уникальный код" не совпадает с именем папки "уникальный код". Проверяйте. В крайнем случае отправьте мне ваш index.php на указанный выше ящик.
Во-вторых, если вызов return_links() единственный, то он вызывается без значений.
Куда Вам код скинуть чтоб вы посмотрели?