Запуск 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 — один из плагинов позволяющий конвертировать в ЧПУ ссылках кириллические символы на латинские.

Пинг сервисы WordPress

Пинг сервисы необходимы для ускорения индексации статей в поисковых системах.

Добавлять и удалять их можно в админ панели открыв «Параметры» — «Написание» — «Сервисы обновления».
Их существует достаточно много, поэтому желательно выбрать наиболее нужные. Чем больше их прописано, тем больше времени уйдет на их оповещение при добавлении статьи.
Вот небольшой список собранный в интернете:

http://rpc.pingomatic.com
https://rpc.twingly.com
http://ping.feedburner.com
http://rpc.weblogs.com/RPC2
http://www.pingmyblog.com
http://blogsearch.google.com/ping/RPC2
http://ping.blogs.yandex.ru/RPC2
http://xping.pubsub.com/ping

и т.д…

Настройка ЧПУ ссылок в WordPress

В первую очередь необходимо активировать модуль Apache — mod_rewrite. В операционной системе Linux Ubuntu/Debian это можно сделать командой:

sudo a2enmod rewrite

Второе, прописать AllowOverride All в конфиграционном файле сайта Apache2, которые находятся по адресу /etc/apache2/sites-enabled/, чтобы веб сервер читал параметры из файлов .htaccess.

Третее, изменить тип постоянных ссылок через админку в параметрах WordPress. Выбираем «Параметры» — «Постоянные ссылки» и выбираем например название записи или произвольно указываем шаблон ссылки.

Пример:

/%category%/%postname%.html
/%postname%.html  (оптимальный вариант)
/%post_id%
/%category%
и т.д.

В итоге WordPress создаст в корневой директории файл .htaccess и получится ссылка типа http://exmple.net/имя_поста.html естественно если имя поста на русском, то и в ссылке будут русские символы. Можно также установить какой-нибудь плагин конвертирующий русские символы в латинские, например Rus-To-Lat, чтобы ссылка была вида http://example.net/imya-posta.html.

Перезапустим apache2 чтобы изменения вступили в силу:

sudo service apache2 restart

Смотрите также: Решение ошибки «Not Found» при включении ЧПУ ссылок WordPress

Установка и настройка libapache2-mod-evasive

Модуль libapache2-mod-evasive может помочь защитится веб-серверу Apache от от атак медленного чтения, а так же некоторых других направленных атак.

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

sudo apt-get install libapache2-mod-evasive

Откроем стандартный или создадим файл конфигурации:

sudo nano /etc/apache2/mods-available/evasive.conf

Пример содержимого:

<IfModule mod_evasive20.c>
#Размер таблицы адресов
DOSHashTableSize 4096
#Количество одновременно открытых одинаковых страниц сайта для каждого хоста в интервал времени
DOSPageCount 5
#Количество открытых страниц сайта для каждого хоста в интервал времени
DOSSiteCount 50
#Интервал времени для DOSPageCount в секундах
DOSPageInterval 1
#Интервал времени для DOSSiteCount в секундах
DOSSiteInterval 1
#Период блокировки хоста в секундах
DOSBlockingPeriod 10
#Файл логов
DOSLogDir /var/log/mod_evasive.log
#Email для уведомлений о блокировке
DOSEmailNotify test@example.com
#Можно выполнить команду
#DOSSystemCommand    "su - someuser -c '/sbin/... %s ...'"
#Список адресов для которых не будут работать ограничения
DOSWhitelist 127.0.0.1
DOSWhitelist 192.168.1.1
</IfModule>

Активируем модуль:

sudo a2enmod mod-evasive

Перезагружаем apache:

/etc/init.d/apache2 restart

Проверяем (должно отобразится evasive20_module (shared)):

sudo apachectl -t -D DUMP_MODULES|grep evasive

Выполняем стандартный скрипт для проверки:

perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl

Как убрать в wordpress rss ленте повторяющийся title

В директории /wp-includes/ находим файлы feed-atom.php, feed-rdf.php, feed-rss.php, feed-rss2.php и ищем в них строку:

<title type="text"><?php bloginfo_rss('name'); wp_title_rss();?></title>

убираем из нее

bloginfo_rss('name');

либо

wp_title_rss();

Готово.

Смотрите также:
Устранение повторяющихся заголовков на страницах WordPress

Ссылки на каталоги с расширениями и шаблонами для CMS Joomla

Joomla (джумла) — система управления содержимым (CMS), написанная на языках PHP и JavaScript использующая MySQL.

Официальный сайт: www.joomla.org
Каталог расширений на официальном сайте: extensions.joomla.org
Русский портал Joomla: joomlaportal.ru
Форум поддержки Joomla на русском: joomla-support.ru

Шаблоны для Joomla с возможность demo просмотра:
design4free.org
www.1joomla.ru
www.joomla24.com
templatki.com
joomla-temp.ru
joomla-master.org
joomfans.com
joomdom.com
joomlafan.org
template-joomla.ru
shablony-joomla.com

Расширения Joomla:
ru.2glux.com/projects
www.nonumber.nl

Ограничение, удаление и отключение ревизий WordPress

Для отключения ревизий (публикаций) в WordPress необходимо добавить одну строку в файл wp-config.php:

Читать далее «Ограничение, удаление и отключение ревизий WordPress»

Примеры HTML тегов

Основные:

<html></html> Указывает начало и конец html страницы.
<head></head> Определяет место, где помещается информация не отображаемая в теле документа.
<body></body> Определяет видимую часть документа.

Тело документа:

<body bgcolor="000000"> Цвет фона документа.
<body text="000000"> Цвет текста документа.
<body link="000000"> Цвет гиперссылок.
<body vlink="000000"> Цвет посещенных гиперссылок.
<body alink="000000"> Цвет гиперссылки при нажатии на нее.

Фреймы:

<frameset></frameset> 	Предваряет тег <body> в документе, содержащем фреймы;
<frameset rows="значение,значение"> 	Определяет строки в таблице фреймов, высота которых определена кол-вом пикселов или в процентном соотношении к высоте таблицы фреймов.
<frameset cols="значение,значение"> 	Определяет столбцы в таблице фреймов, ширина которых определена кол-вом пикселов или в процентном соотношении к ширине таблицы фреймов.
<frame> 	Определяет единичный фрейм или область в таблице фреймов.
<noframes></noframes> 	Определяет, что будет показано в окне браузера, если он не поддерживает фреймы.
<frame src="URL"> Определяет какой из HTML документов будет показан во фрейме.
<frame name="name"> 	Указывает Имя фрейма или области, что позволяет перенаправлять информацию в этот фрейм или область из других фреймов.
<frame marginwidth="#"> 	Определяет величину отступов по левому и правому краям в нутрь фрейма; должно быть равно или больше 1.
<frame marginheight="#"> 	Определяет величину отступов по верхнему и нижнему краям в нутрь фрейма; должно быть равно или больше 1.
<frame scrolling=#>  значение value может быть "yes," "no," или "auto". Значение по умолчанию для обычных документов - auto.
<frame noresize> Запрещает изменению размеров фрейма пользователем.

Формы:

<form></form> Указывает начало и конец кода формы.
<select multiple name="имя" size="?"></select> Скролируемое меню. size устанавливает количество пунктов меню, остальные будут отображены при использовании прокрутки.
<option> Указываем элемент меню

<select name="имя"></select> Ниспадающее меню
<option> Указываем элемент меню

<textarea name="имя" cols=40 rows=8></textarea> Окно для ввода текста. columns определяет ширину окна, rows - высоту.
<input type="checkbox" name="имя">
<input type="radio" name="имя" value="x">
<input type=text name="foo" size=20> Строка ввода текста. size определяет его длину.
<input type="submit" value="имя"> Кнопка
<input type="image" border="0" name="имя" src="name.gif"> Кнопка с фоновым изображением.
<input type="reset"> Кнопка очистки.

Таблицы:

<table></table> Указывает начало и конец кода страницы.
<tr></tr> Определяет строку в таблице.
<td></td> Определяет ячейку в таблице.
<th></th> Определяет заголовок таблицы.
<caption></caption> Определяет подпись таблицы.
<table border="#"> Толщина рамки таблицы.
<table cellspacing="#"> Расстояние между ячейками таблицы.
<table cellpadding="#"> Расстояние между содержимым ячейки и ее рамкой.
<table width="#"> Ширина таблицы в пикселях или процентах от ширины документа.
<table height="#"> Высота таблицы в пикселях или процентах от высоты документа.
<tr align="?"> или <td align="?"> Выравнивание ячеек в таблице: left, center, right.
<tr valign="?"> или <td valign="?"> Вертикальное выравнивание для ячеек таблицы: top, middle, bottom.
<td colspan="#"> Количество столбцов, которое объединено в одной ячейке.
<td rowspan="#"> Количество строк, которое объединено в одной ячейке.
<td nowrap> Не позволяет делать перевод строки в ячейке таблицы.
<td width="#"> Ширина ячейки в пикселях или процентах от ширины таблицы.
<td height="#"> Высота ячейки в пикселях или процентах от высоты таблицы.

Гиперссылка:

<a href="http://wikipedia.org">Википедия</a> или <a href="http://ru.wikipedia.org">http://ru.wikipedia.org</a>
<a href="имя файла или url" target="_self">имя ссылки</a>
Возможные значения атрибута target:
 _top — открытие документа в текущем окне;
 _blank — открытие документа в новом окне;
 _self — открытие документа в текущем фрейме;
 _parent — открытие документа в родительском фрейме.

Графические элементы:

<img src="#"> Добавляет изображение.
<img src="#" align="#"> Добавляет изображение с выравниванием: left, right, center; bottom, top, middle.
<img src="#" border="#"> Добавляет изображение и устанавливает толщину рамки вокруг изображения.
<img src="#" vspase="#"> Добавляет изображение и устанавливает поля сверху и снизу.
<img src="#" hspase="#"> Добавляет изображение и устанавливает поля слева и справа.
<img src="#" alt="#"> Изображение с всплывающей подсказкой.
<hr> Горизонтальная линия.
<hr size="#"> Горизонтальная линия с установкой ее толщины.
<hr width="#"> Горизонтальная линия с установкой ее ширины.
<hr noshade> Невидимая горизонтальная линия.
<hr color="000000"> Горизонтальная линия с установкой ее цвета.

Форматирование:

<pre></pre> Обрамление предварительно отформатированного текста.
<h1></h1>,<h2></h2>,<h3></h3>,<h4></h4>,<h5></h5>,<h6></h6> Заголовки. h1 самый большой размер.
<b></b> Жирный текст.
<i></i> Наклонный текст.
<u></u> Подчёркнутый текст.
<s></s> Зачёркнутый текст.
<blockquote></blockquote> Цитата.
<pre></pre> Моноширинный текст.
<tt></tt> Стиль печатной машинки.
<kbd></kbd> Стиль печатной машинки.
<var></var> Название переменных отображается курсивом.
<cite></cite> Выделение цитат курсивом
<address></address> Курсивом в виде отдельного абзаца
<em></em> Наклонный текст
<strong></strong> Жирный текст
<font size="#"></font> Размер текста от 1 до 7.
<span style="font-size:15px;">Ваш текст</span>
<font color="000000"></font> Цвет текста.
<span style="color: #FF0000">Цветной текст</span>
<p></p> Новый параграф.
<p align="?"></p> Выравнивание параграфа: left, right, justify, center.
<nobr> Запрещает перевод строки.
<wbr> Указывает где разбивать строку для переноса при необходимости.
<br> Перевод строки.
<dl></dl> Список определений.
<dt> Определяет каждый из терминов списка
<dd> Описывает каждое определение
<div align="?"></div> Форматирования блоков HTML документа.

<ol></ol> Нумерованный список
<li>

<ul></ul> Ненумерованный список
<li>

Символы:

&lt; - < 	
&gt; - > 	
&amp; - & 	
&nbsp; - неразрывный пробел
&sect; - § 	
&#8470; - № 	
&copy; -©
&reg; - ®
&#153; - ™
&deg; - °
&laquo; - «
&raquo; - »
&hellip; - …
&mdash; - —
&#149; - •
&plusmn; - ±
&minus; −