Собственно то, что очень круто помогает мне в работе и сильно экономит время. Эти программы показывают кусок кода того места, на которое вы навели мышку, а также его css свойства.
Т.к. браузер Opera я считаю извращенством, то пишу только для IE и FireFox, хотя для первого где-то видел подобное. IE: FireFox:
Конечно же их функционал не ограничен лишь просмотром css, но использую я их только для этого.
Все это конечно же в <head>. При включенном ява скрипте произойдет редирект на fixblog.ru через 3000 миллисекунд, что равно 3 секундам, при отключенном – тоже самое через три секунды.
Долго искал в рунете подходящее, в итоге написал сам. Статья о том, как с помощью xslt сделать пейджинг. Подразумевается что каждая статья имеет свой уникальный ID, и идут они по порядку.
Объявим переменные: <xsl:value-of select="$base_address" /> <!– Первая страница –>
<xsl:param name="page" select="1″/>
<!– Сколько статей на странице –>
<xsl:param name="limitperpage" select="7″/>
<!– Всего статей. Не всегда получается узнать, но если известно – хорошо. Служит, чтобы на последней (при листинге) странице не было ссылки "дальше" –>
<xsl:param name="limitrss" select="51″/>
Далее внутри шаблона самого:
<xsl:choose>
<!– Проверяем, не первая ли это страница, если нет, то выводим ссылку назад –> <xsl:when test="$page > $limitperpage">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$base_address" />/page_<xsl:value-of select="$page – $limitperpage"/>
</xsl:attribute>
Назад </xsl:element>
</xsl:when>
</xsl:choose>
<!– Следующая страница –> <xsl:choose>
<!– Проверяем, не последняя ли это страница, если нет, выводим next –>
<xsl:when test="$page < $limitrss">
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="$base_address" />/page_<xsl:value-of select="$page+$limitperpage"/>
</xsl:attribute>
Следующая </xsl:element>
</xsl:when>
</xsl:choose>
Ну и если неизвестно сколько всего записей, то тогда просто: <xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="$base_address" />/page_<xsl:value-of select="$page+$limitperpage"/>
</xsl:attribute>
Следующая
</xsl:element>
Не хотели мои сайты на wordpress индексироваться sape‘овским роботом, не хотел и все тут.
Причем некоторые из них, например этот блог – индексировался на ура, а сделанные по шаблонной системе и одной и той же сборки – нет.
И вот сегодня – ура, ура, кричат фанфары – разобрался.
Итак, по пунктам, какие могут возникнуть проблемы:
1) Это конечно же UTF8, о чем я подумал первым делом. Исправляется заменой: $sape = new SAPE_client();
на $o[’charset’] = ‘UTF-8?;
$sape = new SAPE_client($o);
unset($o);
2) Использование mod_rewrite, красивых ссылок т.е.
Лечится изменением строчки $sape = new SAPE_client();
на строчку $o['request_uri'] = $_SERVER['REDIRECT_URL'];
$sape = new SAPE_client($o);
unset($o);
Где 1234qwertyuiop567890asdf – номер вашей папки в sape.
О том, какие плагины лучше использовать – напишу позже.
Увы, эти махинации мне не помогли, и я вообще не знал что делать.
Решил посмотреть логи апача – робот достукивается до страниц нормально.
Решил внимательнее рассмотреть страницы, и увидел следующий мета тег, оставленный заботливым All-in-one-seo-pack <meta name="robots" content="noindex,follow" />
В обще после долгих матюков и радости что я наконец нашел причину – отключил этот плагин (ибо особо его и не использовал) и наслаждался как саповский робот добавляет >1000 страниц
Есть у меня несколько сайтов, шаблоны на которых построены на технологии smarty. И когда они проиндексировались, встал вопрос: а как собственно поставить код ?
Все как всегда очень просто, вместо открывающего тега <?phpставим {php}, вместо закрывающего ?> ставим {/php}, и внутрь вставляем любой phpкод.
Далее в корне сайта открываем файл .htaccess (или создаем если его нет), и в него вставляем слеудующее:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([A-Za-z]+)$ partner/$1.php [L]
</IfModule>
Первый код делает редирект пользователя на указанный URL, второй делает первый файл, находящийся по адресу /partner/sape.php, доступным по адресу /sape.
Соответственно можно создавать файлы с любыми именами, где имя файла (XXX), например partner/XXX.php будет соответствовать адресу /XXX
Достигается на самом деле довольно-таки легко. Берем прозрачный png, берем следующий код: <script type="text/javascript">
function fixPNG(element)
{
//Если браузер IE версии 5.5-6
if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
{
var src;
if (element.tagName==’IMG’) //Если текущий элемент картинка (тэг IMG)
{
if (/\.png$/.test(element.src)) //Если файл картинки имеет расширение PNG
{
src = element.src;
element.src = "/blank.gif"; //заменяем изображение прозрачным gif-ом
}
}
else //иначе, если это не картинка а другой элемент
{
//если у элемента задана фоновая картинка, то присваеваем значение свойства background-шmage переменной src
src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
if (src)
{
src = src[1]; //берем из значения свойства background-шmage только адрес картинки
element.runtimeStyle.backgroundImage="none"; //убираем фоновое изображение
}
}
//если, src не пуст, то нужно загрузить изображение с помощью фильтра AlphaImageLoader
if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’" + src + "‘,sizingMethod=’scale’)";
}
}
</script> Вставляем ПЕРЕД следующим html: <div style=”background: url(some.png) no-repeat;” class=”someclass”><a href=”#”>Ссылка</a></div>
Или таким, если png вставляется не бекграундом: <div class=”someclass”><img src=”some.png” /></div>
Остается добавить в css следющее: .someclass {
filter:expression(fixPNG(this));
}
Все, теперь png во всех браузерах прозрачная!
Остается добавить – что если сверху png присутствуют какие-либо ссылки, или интерактивные поля (формы и т.п.), то они будут ниже картинки и не кликабельны, решается это просто, добавляется объекту, который нужно поставить выше position: relative;
На данном примере это выглядит так: .someclass a {
position: relative;
}
Проблема – не работают эти свойства в Internet Explorer 6 и ниже версий. Решений в интернете нашел много, но большинство вешали браузер, либо просто не работали. Что заметил, совместная попытка использования замены max-height и max-width – приведет к сносу башни у IE, и он попросту зависнет. Но, ближе к делу: max-width
#block {
max-width:100px;
width: expression(this.offsetWidth > 101?"100″:"this.offsetWidth");
Метод незаконный, и не является руководством к действию. Это лишь одна из мыслей.
Основная проблема создания сайта для sape – где взять контент, чтобы яндекс не забанил за воровство?
Ответ собственно прост – скан книг. И если вы думаете что все книжки уже есть в Интернете – вы глубоко ошибаетесь. Зайдите в районную библиотеку, и возьмите пару книжек 80-90-х годов. Уникальность контента – примерно в 70% случаев, что в принципе не плохо. А с ценной сканера в 2-3 тысячи рублей – это становится практически бесплатным источником текста.
И создав около сотни уникальных страниц, можно смело воровать контент еще на 1000, для конспирации делая их страницами третьего уровня.