Создание простого HTML шаблона

Приведу пример простого HTML шаблона.

Элемент указывающий тип документа:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Начало документа:

<HTML>

Начало заголовка документа:

<HEAD>

Указание языка документа, кодировки:

<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<META NAME="Description" content="Краткое описание страницы">
<META NAME="Keywords" content="Ключевые слова через запятую">

Язык таблицы стилей CSS:

<META http-equiv="Content-Style-Type" content="text/css">

Начало описания стилей:

<STYLE type="text/css">

Цвет ссылок:

A:link {COLOR: green; TEXT-DECORATION: none}

Цвет посещенных ссылок:

A:visited {COLOR: red; TEXT-DECORATION: none}

Цвет ссылки при клике по ней:

A:active {COLOR: orange; TEXT-DECORATION: none}

Цвет ссылки при наведении на нее

A:hover {COLOR: black; TEXT-DECORATION: underline}

Цвет фона документа, параметры шрифта по умолчанию

BODY {BACKGROUND: white; COLOR: black; FONT-FAMILY: Verdana,Arial,sans-serif; FONT-SIZE: 10pt}

Окончание таблицы стилей:

</STYLE>
<TITLE>Название документа</TITLE>

Конец заголовка:

</HEAD>

Начало тела документа:

<BODY>

Текст документа ….

Конец тела документа:

</BODY>

Последний тег обозначающий конец документа:

</HTML>

Также с помощью сторонних сервисов, например csstemplater.com можно генерировать готовые шаблоны.

Question2Answer SEO URL. Замена кириллических символов латинскими

Заметил что в Question2Answer при использовании кириллических символов в вопросах ссылки создаются соответственно типа example.com/1/D0%B%DD%D1%D1% и т.д.

Чтобы кириллические символы в ссылках на вопросы автоматически заменялись на латинские и ссылки были вида example.com/1/test необходимо в файле QA-base.php в начале функции qa_q_request() примерно на 1204 строке добавить код:

$cyr = str_replace(array('а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ь', 'ъ', 'ы', 'э', 'ю', 'я'), array('a', 'b', 'v', 'g', 'd', 'e', 'jo', 'zh', 'z', 'i', 'i', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'ts', 'ch', 'sh', 'sch', 'j', 'j', 'y', 'e', 'y', 'ya'), $title);
        return (int)$questionid.'/'.$cyr;

Вставка рекламы между сообщениями форума phpBB

Вставка рекламы между сообщениями форума phpBB делается элементарно, необходимо всего лишь в файле активной темы viewtopic_body.html найти фрагмент кода:

<!-- END postrow -->

И перед ним вставить следующее:

<!-- IF (postrow.S_ROW_COUNT eq 0) || (S_USER_LOGGED_IN eq 0 && postrow.S_ROW_COUNT eq 4) -->

<table class="tablebg" width="100%" cellspacing="0">
<tr class="row1">

<td class="profile" align="center" valign="middle">
<b class="postauthor">Реклама</b>
</td>
<td class="row3h" width="100%">
</td>
</tr>

<tr class="row1">

<td valign="top" class="profile">
<table cellspacing="4" align="center" width="150">

</table>

<span class="postdetails">

</span>

</td>
<td valign="top" colspan="2">
<table width="100%" cellspacing="5">
<tr>
<td>
<table width="100%" cellspacing="0">
<tr valign="middle">
<td class="gensmall" align="{S_CONTENT_FLOW_END}">

</td>
</tr>
</table>

<div class="postbody">

КОД РЕКЛАМЫ

</div>
</td>
</tr>
</table>
</td>
</tr>

<tr class="row1">

<td align="center" class="profile">

</td>
<td colspan="2"></td>
</tr>

<tr>
<td class="spacer" colspan="3" height="1"><img src="images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
</table>
<!-- ENDIF -->

В итоге зарегистрированным пользователям после первого сообщения будет отображаться реклама, а гостям после первого и пятого.
Порядок можно изменить отредактировав строку (где 0 означает после первого, 4 после пятого):

<!— IF (postrow.S_ROW_COUNT eq 0) || (S_USER_LOGGED_IN eq 0 && postrow.S_ROW_COUNT eq 4) —>

После изменения файла шаблона необходимо очистить кэш через админку либо в директории cache, чтобы не ждать когда он обновится и изменения вступят в силу.

Как включить cURL

Для включения расширения cURL в Linux Ubuntu/Debian необходимо сначала его установить командой:

sudo apt-get install php-curl

Либо так для старой версии PHP5:

sudo apt-get install php5-curl

Активировать/деактивировать модуль можно так:

sudo phpenmod curl
sudo phpdismod curl

Перезагрузим Apache2 чтобы применить изменения:

sudo /etc/init.d/apache2 restart

Посмотрим активирован ли curl:

php -i | grep -i curl

В Windows системах cURL обычно идет в комплекте с PHP и для включения необходимо раскомментировать строку extension=php_curl.dll в файле php.ini. После чего перезагрузить службу Apache2.

Проверка ссылок с помощью LinkChecker

LinkChecker — инструмент проверки сайта на несуществующие ссылки.

Установка в Linux Ubuntu/Debian:

sudo apt-get install linkchecker

Примеры запуска:

linkchecker http://www.example.net
linkchecker --ignore-url=^mailto: mysite.example.org (исключая email адреса)
linkchecker ../index.html (проверка локального файла)
linkchecker www.example.com
linkchecker -r0 ftp.example.org
linkchecker -odot -v www.example.com | dot -Tps > sitemap.ps (создание карты сайта)

Опции запуска можно посмотреть в официальной документации wummel.github.io/linkchecker/man1/linkchecker.1.html
Официальная страница: wummel.github.io/linkchecker/

Денвер — локальный сервер для Web-разработчика

Denwer — локальный сервер для Web-разработчика который содержит Apache, SSL, mod_rewrite, PHP, phpMyAdmin, MySQL, sendmail, Perl и т.д.
Официальный сайт www.denwer.ru

Чтобы создать новый хост, необходимо добавить директорию в каталог /home.

Запуск/остановка/перезапуск денвера выполняется с помощью появившихся ярлыков после установки или файлов C:\WebServers\denwer\Restart.exe, Run.exe, Stop.exe.
Стандартная страница должна открываться из браузера по адресу localhost или 127.0.0.1. Утилиты — http://localhost/tools/.

Авторизация через социальные сети

Добавить возможность авторизации на сайте, в приложении и т.д. через социальные сети можно:

С помощью uLogin:
ulogin.ru

С помощью Loginza:
loginza.ru

Вручную:
dev.twitter.com/anywhere/apps/new
developers.facebook.com/setup/
vk.com/apps.php?act=add&site=1

Проверка WMID (PHP)

Проверка WMID реализованная на языке веб-программирования PHP.
Автор: © Сергей eLRiz Козлов
Исходный код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>Проверка WMID</title>

</head>

<body>

<?php

    if( isset( $_GET['wmid'] ) AND is_numeric( $_GET['wmid'] ) == TRUE AND strlen( $_GET['wmid'] ) == 12 )

    {

        $url = iconv( 'windows-1251', 'UTF-8', file_get_contents( 'http://passport.webmoney.ru/asp/certcard.asp?id='. $_GET['wmid'] ) );

        preg_match_all( "|</[^>]+>(.*)<[^>]+>|U", $url, $out, PREG_PATTERN_ORDER );

        if( isset( $out[0][4] ) )

            echo 'WMID#: '. $_GET['wmid'] .'<br />'.

                  strip_tags( $out[0][4] ) .'<br />

                  Бизнес-уровень: '. strip_tags( $out[0][8] ) .'<br />

                  Претензий: '. strip_tags( $out[0][10] ) .'<br />

                  <form action="http://arbitrage.webmoney.ru/asp/newclaims.asp" method="get">

                    <input type="submit" value="Оставить отзыв или претензию" />

                    <input type="hidden" name="procwmid" value="'. $_GET['wmid'] .'" />

                  </form>';

        else

            echo '<font color="#FF0000"><b>Ошибка! Такой WM-идентификатор незарегистрирован</b></font><br />';

        echo '<a href="wmid.php">Назад</a>';

    }

    else

        echo '<form action="wmid.php" method="get">

                WMID#: <br />

                <input type="text" name="wmid" maxlength="12" /><br />

                <input type="submit" value="Найти" /><br />

            </form>';

?>

</body>

</html>

Запуск shell сценария из php

Функция shell_exec позволяет выполнять команды на сервере.
В конфиге php.ini может стоять запрет на ее выполнение. Также стоит быть аккуратным в написании php кода с ее использованием, дабы не предоставить злоумышленникам доступ к выполнению команд на сервере.

Приведу краткий пример php кода:

<?php
$result = shell_exec('uptime');
echo "<pre>$result</pre>";
?>

Теги pre позволят сохранить форматирование текста.

Аналогично выполняются и файлы, запускаемый файл должен иметь права на запуск.
Разрешаем запуск:

chmod a+x file.sh

Аналогичный php код:

<?php
$result = shell_exec('/dir/file.sh');
echo $result;
?>

robots.txt для WordPress

robots.txt позволяет указать роботам поисковых систем какие директории и записи необходимо индексировать, а какие нет. Что позволит избежать дублирования записей и позитивно сказаться на индексации.

Пример robots.txt:

User-agent: *
Disallow: /wp-admin/
Disallow: /xmlrpc.php

Host: ixnfo.com
Sitemap: http://ixnfo.com/sitemap.xml.gz
Sitemap: http://ixnfo.com/sitemap.xml

Если используется HTTPS, то в конце укажем его вместо HTTP:

Host: https://ixnfo.com
Sitemap: https://ixnfo.com/sitemap.xml.gz
Sitemap: https://ixnfo.com/sitemap.xml

Host: — позволяет указать приоритетный домен который будет использоваться в индексации, так как при существовании алиасов например www.domain.com в индексации поисковиков могут появится ссылки типа www.domain.com/link.html и domain.com/link.html, то есть дублирование, что может повлечь за собой исключение из индексации обеих ссылок.

Google XML Sitemaps — один из плагинов для построения карты сайта.
Cyr-To-Lat — один из плагинов позволяющий конвертировать в ЧПУ ссылках кириллические символы на латинские.