Вам нужно защитить свой сайт на WordPress? Тогда вот вам хороший способ, который потребует использовать ТОЛЬКО .htaccess

 

Что такое .htaccess

 

Под .htaccess называют конфигурационный файл на серверах под Apache. Размещенный в соответствующей директории, файл обнаруживается и обрабатывается софтом Apache. Этот файл используется для включения и отключения функций, которыми располагает Apache. Среди этих функций есть функции с редиректом для страниц 404, а также более продвинутые вещи вроде запрета на хотлинкинг изображений, управление сжатием кэша, защита контента паролями и многое другое, об этом можно узнать здесь.

 

Как все это работает?

 

У меня есть мысль избегать огромных библиотек от множества плагинов и настроек, которые я размещаю на сервере. Для этой цели я использую .htaccess

 

Включить в WordPress Gzip, используя .htaccess

 

Чтобы включить у себя в Вордпрессе gzip вам нужно включить mod_deflate.c и использовать подходящие фильтры. Например, эти:

<ifmodule mod_deflate.c>
	AddOutputFilterByType DEFLATE text/plain
	AddOutputFilterByType DEFLATE text/text
	AddOutputFilterByType DEFLATE text/html
	AddOutputFilterByType DEFLATE text/plain
	AddOutputFilterByType DEFLATE text/xml
	AddOutputFilterByType DEFLATE text/css
	AddOutputFilterByType DEFLATE image/gif
	AddOutputFilterByType DEFLATE image/jpeg
	AddOutputFilterByType DEFLATE image/jpg
	AddOutputFilterByType DEFLATE image/png
	AddOutputFilterByType DEFLATE image/gif
	AddOutputFilterByType DEFLATE image/flv
	AddOutputFilterByType DEFLATE image/ico
	AddOutputFilterByType DEFLATE image/swf
	AddOutputFilterByType DEFLATE application/rss+xml 
	AddOutputFilterByType DEFLATE application/xhtml+xml
	AddOutputFilterByType DEFLATE application/xml
	AddOutputFilterByType DEFLATE application/x-javascript
	AddOutputFilterByType DEFLATE application/javascript
	AddOutputFilterByType DEFLATE application/json
	AddOutputFilterByType DEFLATE video/3gpp
	AddOutputFilterByType DEFLATE video/3gpp2
	AddOutputFilterByType DEFLATE video/x-flv
	AddOutputFilterByType DEFLATE video/jpm
	AddOutputFilterByType DEFLATE video/jpeg
	AddOutputFilterByType DEFLATE video/x-m4v
	AddOutputFilterByType DEFLATE video/mp4
	AddOutputFilterByType DEFLATE video/ogg
	AddOutputFilterByType DEFLATE video/webm
	AddOutputFilterByType DEFLATE video/quicktime
	AddOutputFilterByType DEFLATE audio/x-mpegurl
	AddOutputFilterByType DEFLATE audio/midi
	AddOutputFilterByType DEFLATE audio/mp3
	AddOutputFilterByType DEFLATE audio/mp4
	AddOutputFilterByType DEFLATE audio/mpeg
	AddOutputFilterByType DEFLATE audio/webm
	AddOutputFilterByType DEFLATE audio/basic
	AddOutputFilterByType DEFLATE audio/x-wav
	AddOutputFilterByType DEFLATE audio/wav
	
	# Fix Browsers
	BrowserMatch ^Mozilla/4 gzip-only-text/html
	BrowserMatch ^Mozilla/4\.0[678] no-gzip
	BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</ifmodule>

В этом примере разобраны все важные типы медиа, которые вам нужны. Включив это у себя в .htaccess, вы получите наилучшую производительность и загрузочное время для своего сайта. Единственным исключением является Mozilla, в некоторых версиях которой нет поддержки Gzip.

 

Настройка кэша WordPress внутри .htaccess

 

Если вы хотите ускорить свой сайт путем кэширования яваскриптов, CSS и картинок, то вы можете запросто настроить это через .htaccess, включив mod_expires.c

 

# Expires - 2678400s = 31 days
<ifmodule mod_expires.c>
	ExpiresActive On
	ExpiresDefault "access plus 1 seconds"
	ExpiresByType text/html "access plus 7200 seconds"
	ExpiresByType image/gif "access plus 2678400 seconds"
	ExpiresByType image/jpeg "access plus 2678400 seconds"
	ExpiresByType image/png "access plus 2678400 seconds"
	ExpiresByType text/css "access plus 518400 seconds"
	ExpiresByType text/javascript "access plus 2678400 seconds"
	ExpiresByType application/x-javascript "access plus 2678400 seconds"
</ifmodule>

 

В моем примере я использую кэш на протяжении 31 дня. Вы можете поменять эту настройку на ту, которая нужна именно вам. А вот код для headers:

 

# Cache Headers
<ifmodule mod_headers.c>
	# Cache specified files for 31 days
	<filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$">
		Header set Cache-Control "max-age=2678400, public"
	</filesmatch>
	# Cache HTML files for a couple hours
	<filesmatch "\.(html|htm)$">
		Header set Cache-Control "max-age=7200, private, must-revalidate"
	</filesmatch>
	# Cache PDFs for a day
	<filesmatch "\.(pdf)$">
		Header set Cache-Control "max-age=86400, public"
	</filesmatch>
	# Cache Javascripts for 31 days
	<filesmatch "\.(js)$">
		Header set Cache-Control "max-age=2678400, private"
	</filesmatch>
</ifmodule>

 

Вы можете настроить параметр max-age как вам самим это заблагорассудится.

 

Защищаем установку WordPress через .htaccess

 

На самом деле Wodpress весьма уязвим для взломщиков, но вы можете сделать их работу труднее. Да, есть плагины, которые предлагают неплохую защиту, но в некоторых случаях .htaccess может быть куда более эффективным решением.

 

# Disable directory browsing
Options All -Indexes

# Deny access to wp-config.php file
<files wp-config.php>
	order allow,deny
	deny from all
</files>

# Deny access to xmlrpc.php file *** REMOVE THIS IF YOU WANT TO ACCESS IT ***
<files xmlrpc.php>
	order allow,deny
	deny from all
</files>

# Deny access to all .htaccess files
<files ~ "^.*\.([Hh][Tt][Aa])">
	order allow,deny
	deny from all
	satisfy all
</files>

# Block wp-includes folder and files
<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /
	RewriteRule ^wp-admin/includes/ - [F,L]
	RewriteRule !^wp-includes/ - [S=3]
	RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
	RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
	RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

# Block Massive attacks
<IfModule mod_rewrite.c>
	RewriteEngine On
	# Block out any script trying to base64_encode data within the URL.
	RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
	# Block out any script that includes a <script> tag in URL.
	RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
	# Block out any script trying to set a PHP GLOBALS variable via URL.
	RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
	# Block out any script trying to modify a _REQUEST variable via URL.
	RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
	# Return 403 Forbidden header and show the content of the root homepage
	RewriteRule .* index.php [F]
	
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d

	# Disable user agents from this locations
	SetEnvIfNoCase User-Agent "^Missigua Locator" bad_bot
	#SetEnvIfNoCase User-Agent "^PEAR HTTP_Request class" bad_bot
	SetEnvIfNoCase User-Agent "^Java/1.4.1" bad_bot
	SetEnvIfNoCase User-Agent "^Java/1.5.0" bad_bot
	SetEnvIfNoCase User-Agent "^psycheclone" bad_bot
	SetEnvIfNoCase User-Agent "^WEP Search 00" bad_bot
	SetEnvIfNoCase User-Agent "^FlashGet" bad_bot
	SetEnvIfNoCase User-Agent "^GetRight" bad_bot
	SetEnvIfNoCase User-Agent "^GetWeb!" bad_bot
	SetEnvIfNoCase User-Agent "^Go!Zilla" bad_bot
	SetEnvIfNoCase User-Agent "^httplib" bad_bot
	SetEnvIfNoCase User-Agent "^Indy Library" bad_bot
	SetEnvIfNoCase User-Agent "^InfoNaviRobot" bad_bot
	SetEnvIfNoCase User-Agent "^InterGET" bad_bot
	SetEnvIfNoCase User-Agent "^Internet Ninja" bad_bot
	SetEnvIfNoCase User-Agent "^LexiBot" bad_bot
	SetEnvIfNoCase User-Agent "^libWeb/clsHTTP" bad_bot
	SetEnvIfNoCase User-Agent "^libwww" bad_bot
	SetEnvIfNoCase User-Agent "^libwww-perl" bad_bot
	SetEnvIfNoCase User-Agent "^LinkextractorPro" bad_bot
	SetEnvIfNoCase User-Agent "^Mozilla.*NEWT" bad_bot
	SetEnvIfNoCase User-Agent "^Octopus" bad_bot
	SetEnvIfNoCase User-Agent "^ProWebWalker" bad_bot
	SetEnvIfNoCase User-Agent "^SuperBot" bad_bot
	SetEnvIfNoCase User-Agent "^WebAuto" bad_bot
	SetEnvIfNoCase User-Agent "^Wells Search II" bad_bot
	SetEnvIfNoCase User-Agent "^Wget" bad_bot
	SetEnvIfNoCase User-Agent "^wget" bad_bot

	<Limit GET POST>
		order allow,deny
		allow from all
		deny from env=bad_bot
	</Limit>
</IfModule>

 

В первую очередь я принудил индексирование в тех местах, где есть прямой доступ. Это на случай, если кто-то захочет получить прямой доступ к некоторым папкам и увидеть список файлов внутри них.

Следующей мерой защиты было отключение прямого доступа к файлам .htaccess, xmlrpc.php и wp-config.php.

Важное примечание: если вам требуется файл xmlrpc.php, то вам нужно убрать соответствующую часть кода.

Следующей мерой защиты было отключение доступа к определенным файлам и папкам внутри папки с установленной системой.

Последней мерой защиты была защита от спама и хакерских атак, исходящих от различных пауков и роботов.

 

Выводы

 

.htaccess представляет собой мощный инструмент в том случае, если вы разбираетесь в его синтаксисе. Однако в качестве примера, от которого можно отталкиваться, предлагаем вам следующий код, который вы, конечно же, можете изменить под свои требования.

 

# Enable GZIP
<ifmodule mod_deflate.c>
	AddOutputFilterByType DEFLATE text/plain
	AddOutputFilterByType DEFLATE text/text
	AddOutputFilterByType DEFLATE text/html
	AddOutputFilterByType DEFLATE text/plain
	AddOutputFilterByType DEFLATE text/xml
	AddOutputFilterByType DEFLATE text/css
	AddOutputFilterByType DEFLATE image/gif
	AddOutputFilterByType DEFLATE image/jpeg
	AddOutputFilterByType DEFLATE image/jpg
	AddOutputFilterByType DEFLATE image/png
	AddOutputFilterByType DEFLATE image/gif
	AddOutputFilterByType DEFLATE image/flv
	AddOutputFilterByType DEFLATE image/ico
	AddOutputFilterByType DEFLATE image/swf
	AddOutputFilterByType DEFLATE application/rss+xml 
	AddOutputFilterByType DEFLATE application/xhtml+xml
	AddOutputFilterByType DEFLATE application/xml
	AddOutputFilterByType DEFLATE application/x-javascript
	AddOutputFilterByType DEFLATE application/javascript
	AddOutputFilterByType DEFLATE application/json
	AddOutputFilterByType DEFLATE video/3gpp
	AddOutputFilterByType DEFLATE video/3gpp2
	AddOutputFilterByType DEFLATE video/x-flv
	AddOutputFilterByType DEFLATE video/jpm
	AddOutputFilterByType DEFLATE video/jpeg
	AddOutputFilterByType DEFLATE video/x-m4v
	AddOutputFilterByType DEFLATE video/mp4
	AddOutputFilterByType DEFLATE video/ogg
	AddOutputFilterByType DEFLATE video/webm
	AddOutputFilterByType DEFLATE video/quicktime
	AddOutputFilterByType DEFLATE audio/x-mpegurl
	AddOutputFilterByType DEFLATE audio/midi
	AddOutputFilterByType DEFLATE audio/mp3
	AddOutputFilterByType DEFLATE audio/mp4
	AddOutputFilterByType DEFLATE audio/mpeg
	AddOutputFilterByType DEFLATE audio/webm
	AddOutputFilterByType DEFLATE audio/basic
	AddOutputFilterByType DEFLATE audio/x-wav
	AddOutputFilterByType DEFLATE audio/wav
	
	# Fix Browsers
	BrowserMatch ^Mozilla/4 gzip-only-text/html
	BrowserMatch ^Mozilla/4\.0[678] no-gzip
	BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</ifmodule>

# Expires Headers - 2678400s = 31 days
<ifmodule mod_expires.c>
	ExpiresActive On
	ExpiresDefault "access plus 1 seconds"
	ExpiresByType text/html "access plus 7200 seconds"
	ExpiresByType image/gif "access plus 2678400 seconds"
	ExpiresByType image/jpeg "access plus 2678400 seconds"
	ExpiresByType image/png "access plus 2678400 seconds"
	ExpiresByType text/css "access plus 518400 seconds"
	ExpiresByType text/javascript "access plus 2678400 seconds"
	ExpiresByType application/x-javascript "access plus 2678400 seconds"
</ifmodule>

# Cache Headers
<ifmodule mod_headers.c>
	# Cache specified files for 31 days
	<filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$">
		Header set Cache-Control "max-age=2678400, public"
	</filesmatch>
	# Cache HTML files for a couple hours
	<filesmatch "\.(html|htm)$">
		Header set Cache-Control "max-age=7200, private, must-revalidate"
	</filesmatch>
	# Cache PDFs for a day
	<filesmatch "\.(pdf)$">
		Header set Cache-Control "max-age=86400, public"
	</filesmatch>
	# Cache Javascripts for 31 days
	<filesmatch "\.(js)$">
		Header set Cache-Control "max-age=2678400, private"
	</filesmatch>
</ifmodule>

# Disable directory browsing
Options All -Indexes

# Deny access to wp-config.php file
<files wp-config.php>
	order allow,deny
	deny from all
</files>

# Deny access to xmlrpc.php file *** REMOVE THIS IF YOU WANT TO ACCESS IT ***
<files xmlrpc.php>
	order allow,deny
	deny from all
</files>

# Deny access to all .htaccess files
<files ~ "^.*\.([Hh][Tt][Aa])">
	order allow,deny
	deny from all
	satisfy all
</files>

# Block wp-includes folder and files
<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /
	RewriteRule ^wp-admin/includes/ - [F,L]
	RewriteRule !^wp-includes/ - [S=3]
	RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
	RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
	RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

# Block Massive attacks
<IfModule mod_rewrite.c>
	RewriteEngine On
	# Block out any script trying to base64_encode data within the URL.
	RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
	# Block out any script that includes a <script> tag in URL.
	RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
	# Block out any script trying to set a PHP GLOBALS variable via URL.
	RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
	# Block out any script trying to modify a _REQUEST variable via URL.
	RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
	# Return 403 Forbidden header and show the content of the root homepage
	RewriteRule .* index.php [F]
	
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d

	# Disable user agents from this locations
	SetEnvIfNoCase User-Agent "^Missigua Locator" bad_bot
	#SetEnvIfNoCase User-Agent "^PEAR HTTP_Request class" bad_bot
	SetEnvIfNoCase User-Agent "^Java/1.4.1" bad_bot
	SetEnvIfNoCase User-Agent "^Java/1.5.0" bad_bot
	SetEnvIfNoCase User-Agent "^psycheclone" bad_bot
	SetEnvIfNoCase User-Agent "^WEP Search 00" bad_bot
	SetEnvIfNoCase User-Agent "^FlashGet" bad_bot
	SetEnvIfNoCase User-Agent "^GetRight" bad_bot
	SetEnvIfNoCase User-Agent "^GetWeb!" bad_bot
	SetEnvIfNoCase User-Agent "^Go!Zilla" bad_bot
	SetEnvIfNoCase User-Agent "^httplib" bad_bot
	SetEnvIfNoCase User-Agent "^Indy Library" bad_bot
	SetEnvIfNoCase User-Agent "^InfoNaviRobot" bad_bot
	SetEnvIfNoCase User-Agent "^InterGET" bad_bot
	SetEnvIfNoCase User-Agent "^Internet Ninja" bad_bot
	SetEnvIfNoCase User-Agent "^LexiBot" bad_bot
	SetEnvIfNoCase User-Agent "^libWeb/clsHTTP" bad_bot
	SetEnvIfNoCase User-Agent "^libwww" bad_bot
	SetEnvIfNoCase User-Agent "^libwww-perl" bad_bot
	SetEnvIfNoCase User-Agent "^LinkextractorPro" bad_bot
	SetEnvIfNoCase User-Agent "^Mozilla.*NEWT" bad_bot
	SetEnvIfNoCase User-Agent "^Octopus" bad_bot
	SetEnvIfNoCase User-Agent "^ProWebWalker" bad_bot
	SetEnvIfNoCase User-Agent "^SuperBot" bad_bot
	SetEnvIfNoCase User-Agent "^WebAuto" bad_bot
	SetEnvIfNoCase User-Agent "^Wells Search II" bad_bot
	SetEnvIfNoCase User-Agent "^Wget" bad_bot
	SetEnvIfNoCase User-Agent "^wget" bad_bot

	<Limit GET POST>
		order allow,deny
		allow from all
		deny from env=bad_bot
	</Limit>
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /
	RewriteRule ^index\.php$ - [L]
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 

Но учтите, что перед тем, как вы попробуете наш код, ОБЯЗАТЕЛЬНО позаботьтесь о соответствующих резервных копиях.

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

Вы также должны понимать, что это не универсальное решение. Если вы хотите более высокую скорость, улучшенную оптимизацию и лучшую конверсию, то вы должны сделать множество других вещей, чтобы получился именно тот результат, которого вы хотите. Или же нанять себе дизайнера, который на всем этом деле собаку съел.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520


На WordPress работает около 15 миллионов сайтов по всему свету и это только по скромным подсчетам. Данная платформа является на сегодняшний день неоспоримым лидером на рынке CMS со своей 60-процентной долей. Но есть и плохие новости: WordPress пользуется особой популярностью не только у обычных пользователей, но и у хакеров. Sucuri, ведущая компания по безопасности в Интернете, сообщила, что 78 процентов от 11 485 взломанных сайтов за первые три месяца 2016 года работали под управлением WordPress.

Сетевым злоумышленникам неважно каких размеров у вас сайт, сколько на него заходит людей и какую прибыль он вам приносит. Если вы в Сети, то вас можно взломать. Эти шесть предостережений помогут вам определить не взламывал ли кто-то ваш сайт за последнее время, а также помогут предпринять соответствующие меры, чтобы выдворить нежелательных гостей со своего сетевого дома.

 

1) Вы не можете залогиниться. Первый звоночек это, когда вы не можете зайти на сайт. Зачастую хакеры крадут детали логина через брутфорс. Они используют эти автоматические программы, которые подбирают тысячи сочетаний пароль/имя пользователя. А как только им удается зайти внутрь, то они меняют ваши администраторские права таким образом, чтобы вы не могли исправить ситуацию. Или же попросту удаляют ваш аккаунт.


2) Ваш сайт стал необычно медленным и плохо отвечает. Если ваш сайт стал подтормаживать, то причиной лагов могут быть и хакеры, пытающиеся при помощи брутфорса подобраться к вашему сайту. Другой вариант это DDOS-атака, когда с кучи компьютеров на ваш сайт отправляется масса запросов – куда больше, чем ваш сервер может справиться. Любое из этих двух может замедлить работу вашего сайта, сделать его неотзывчивым или вовсе вывести из строя. Если под вашим управлением находится сразу несколько сайтов, то воспользуйтесь pingdom, чтобы измерить скорость каждого из них. Это бесплатный онлайн-инструмент, благодаря которому вы сможете проверить скорость своего сайта из разных точек. Также время от времени исследуйте свои серверные логи, чтобы выявить IP адреса, которые шлют слишком много запросов. Затем заблокируйте их. В случае если вы уверены, что ваш сайт не был взломан, то есть смысл проверить плагины, скрипты и настройки хостинга.

 

3) Вы не можете отсылать и принимать электронные письма. Хакеры любят использовать ваш же сайт против вас. Если они пользуются вашим сайтом или сайтами для рассылки огромного количества спама, то у вас начнутся определенные подвисания и в итоге не даст вам получать и отсылать письма.

 

4) На вашей странице отображается контент другого сайта. Очень часто хакеры делают редиректы на другие сайты. Вы открываете свой сайт, хотите показать его бизнес-партнеру, он вроде как подгружается и тут – хоп – вы попадаете на совершенно другой сайт. Это значит, что кто-то уже успел покопаться в вашем коде, получив несанкционированный доступ к сайту.

 

5) Google помечает ваш сайт как ненадежный. Заботливый поисковик часто предупреждает своих пользователей в случае, если сайт заражен. В этом случае вы можете потерять не мало потенциальных клиентов, так как все будут в курсе, что ваш сайт распространяет вредоносные программы, ворует информацию или прочим способом занимается вредительством.


6) Ваш хостинг убирает ваш сайт из Сети. Большинство хостингов немедленно уведомят вас о том, что ваш сайт был убран из сервиса. Помимо того, что это используют против людей, не платящих вовремя за хостинг, такая мера пресечения работает так же и по отношению к зараженным сайтам, так как если оставить такой сайт на произвол судьбы, то зараза может распространиться и на сервер, образовав тем самым цепную реакцию.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520


Чуть ли не 30 000 сайтов взламываются каждые сутки. В идеальном мире система вроде WordPress могла бы избавить вас от множества бед, но мы живем не в идеальном мире и по умолчанию WordPress не слишком надежно защищен. Основное назначение WordPress это публикация материалов, а не их защита. Если вы хотите защитить свой контент, то вам придется предпринять несколько дополнительных шагов для этого.

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

Дочитав до конца, вы будете знать абсолютно все, что можно о безопасности WordPress, начиная с грамотного выбора пароля и заканчивая модификациями стандартных файлов настроек WordPress. Вне зависимости от масштабов своего сайта вы сможете спать спокойно, зная, что ваш материал и ваши пользователи надежно защищены.

Но сперва давайте поговорим о рисках.

Зачем мне защищать мой профиль WordPress

 Это же блог, а не счет в банке! Кому может понадобиться взламывать какой-то сайт? Очень просто предположить, что никому не понадобится тратить свое время и силы на атаку вашего блога, однако существуют причины, о которых многие не задумываются. Чаще всего блоги взламывают со следующими целями:

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

— взломщики могут использовать ваш сайт для раскрутки других сайтов, продаже товаров и услуг, распространению вредоносных программ и рекламных целей. Если у вас даже хотя бы средне-раскрученный сайт, то злоумышленники могут использовать популярность вашего сайта в своих целях, захватив контроль над доменом.

— все те же взломщики могут использовать ваш сайт в качестве шантажа – вы сможете вернуть доступ к нему лишь заплатив определенную сумму денег. Это выглядит примерно следующим образом: одним прекрасным утром вы заходите к себе на страничку и видите там надпись, что ваш сайт был взломан, но вы можете восстановить его, переведя соответствующую сумму на тот или иной счет. Обычно многие люди попадают на эту удочку, так как не утруждают себя созданием резервных копий.

— чтобы встроить на ваш сайт вредоносное ПО. Сам сайт при этом может быть доступным. У вас даже может сложиться впечатление, что все в порядке, в то время как ваши пользователи могут стать жертвой вредных программ. Естественно, это не пройдет мимо внимания поисковых систем, которые тут же заблокируют ваш сайт.

— просто для того, чтобы избавиться от вашего сайта. DDoS-атаки являются самым простым способом убрать сайт. Это может произойти в силу разных причин. Например, взломщик может с кем-то состязаться, может быть не согласным с вашими убеждениями или попросту в исследовательских целях.

Помимо всего перечисленного ваш сайт также может стать жертвой более крупной атаки. Например, киберпреступники могут просто сканировать уязвимые аккаунты WordPress, зная об определенных уязвимостях системы. Они могут действовать просто методом подбора – глядишь, среди тысячи взломанных блогов и найдут что-то ценное.

Итак, как обезопасить себя от взлома злоумышленниками? Все начинается с настройки.

 

Глава первая. Настраиваем ваш WordPress

 

Суть WordPress заключается в том, чтобы вы могли легко и быстро поделиться своими мыслями с окружающими. Поэтому изначальная настройка WordPress очень простая для доступа другими людьми. Прежде чем браться за посты, настроим сам WordPress.

Меняем свое администраторское имя пользователя 

По умолчанию в WordPress ваше имя пользователя это «admin». Это упрощает жизнь злоумышленникам, поскольку для того, чтобы взломать вас, им нужно лишь подобрать пароль, поскольку имя пользователя они уже знают. Вы можете усложнить им задачу, сменив свое имя. В WordPress невозможно напрямую менять никнеймы, но вы можете создать новый, а затем удалить сатрый.

Как поменять свое администраторское имя

В админпанели щелкните по вкладке Users и вы получите список всех пользователей, среди которых будет и администратор.

Затем возле заголовка Users нажмите кнопку Add New.

Укажите свои данные, как в примере выше, и назначьте роль администратора. После этого щелкнете по Add New User. Наведите мышью на старого админа и нажмите Удалить.

Подтвердите удаление.

Щелкните по новому имени администратора. Прокрутите вниз, чтобы изменить имя пользователя и выберите display name publicly as.

Добавьте двухфакторную аутентификацию

Двухфакторная аутентификация добавляет дополнительный слой защиты поверх традиционной комбинации имя пользователя и пароль. Представьте себе замок, который можно открыть лишь с помощью двух разных ключей. Один из этих ключей это ваше имя пользователя и пароль. А другой ключ может быть одним из следующих вариантов:

— что-то, что принадлежит вам. Отпечаток пальца, скан радужки и прочие биометрические услуги. Такое часто используется для блокировки телефонов, дверей и прочих физических устройств.

— что-то, что принадлежит вам. Смартфон или похожее устройство, которое можно использовать для подтверждения личности. Чаще всего подразумевается отправка СМС с ПИН-кодом, который нужно потом ввести.

Установка двухфакторной аутентификации при помощи Google Authenticator 

Зайдите в раздел плагинов и нажмите по «добавить новый». Найдите MiniOrange Google, нажмите Install и Activate. Вскоре вы получите письмо, где вам нужно будет пройти подтверждение.

После этого вы можете настраивать свой аккаунт. Выберите вкладку 2fa, чтобы выбрать двухфакторную аутентификацию. Наиболее простой и надежный способ это воспользоваться Google Authenticator. MiniOrange также предлагает премиум-версию, включающую в себя СМС, а также менее надежный адрес э-почты.

Настройте вопросы безопасности, которые обезопасят вас от самозаблокировывания. Вы также можете настроить какие роли есть у двухфакторного входа.

ПРЕДУПРЕЖДЕНИЕ! Используя опциональный Jetpack, существует возможность подключиться ко всем своим сайтам через один логин. Это не очень надежно, поскольку в случае взлома под удар непременно попадут сразу все ваши сайты.

Установка капч 

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

Зайдите в Плагины, откройте окно добавления, найдите Captcha by BestWebSof, установите. Затем зайдите в настройки и включите каптчу для форм входа, регистрации, паролей и комментариев. Сохраните изменения.

С этих пор, когда вы будете заходить, вас будет приветствовать код каптчи.

Включите защиту от спама в комментариях

С первого взгляда спамерские комментарии не таят в себе особой опасности, так как спамерские боты всего лишь пытаются раскрутить чужие сайты. Однако опасность может скрываться в ссылках, которые они будут оставлять у вас на сайте. По умолчанию в WordPress не предоставляется защита от спама, но вы можете установить себе плагин Akismet или воспользоваться альтернативами в виде официального плагина WordPress или системами по принципу все в одном вроде Sucuri.

Установка плагина Akismet

Зайдите в Плагины и нажмите по New, затем найдите Akismet, после чего установите и активируйте его. Сделав все перечисленное, нажмите по Set Up Your Akismet Account.

Нажмите по любой из опций и получите ключ API бесплатно.

Зайдите в настройки и введите полученный ключ, после чего немедленно запустится защита от спама.

Уберите версию своего WordPress 

В WordPress можно без каких-либо проблем увидеть версию движка. Это может быть не только любопытным, но и весьма опасным моментом – злоумышленник может вспомнить, что установленная на вашем сайте версия движка обладает какими-то багами и уязвимостями, и не преминет ими воспользоваться. Поэтому лучше убрать публичный показ версии вашего движка. Поскольку это требует некоторого редактирования файлов, то сперва озаботьтесь бэкапом вашего сайта, и лишь затем приступайте к следованию инструкции.

Зайдите в Appearance, а потом в Editor.

Справа вы увидите «Theme Functions», также помеченные как functions.php

Учтите, что в некоторых шаблонах может быть собственный файл functions. Для этого обратитесь к документации своего шаблона.

Добавьте «add_filter(‘the_generator’,»);

Упомянутый код добавляет фильтр на ту библиотеку WordPress, которая отвечает за отображение вашей версии, тем самым не давая ей делать свое дело.

Затем нажмите по Update File. Это уберет вашу версию WordPress из шапки сайта так же, как и из RSS фидов. Осталось сделать лишь несколько вещей.

Отключите API WordPress

WordPress предоставляет разработчикам REST API, который позволяет тем интегрировать собственные программы в движок. Однако тут есть несколько моментов. Например, API может обойти систему аутентификации, в том числе и двухфакторную. Поэтому если вы не пользуетесь пользовательскими приложениями, то лучше попросту отключить это API, а сделать это можно при помощи плагина Disable REST API. Вам лишь нужно установить и активировать его.

Отключите XML-RPC

XML-RPC это специальная WordPress-фича, позволяющая по удаленке получать доступ к сайту и делать посты. Это может стать вопросом безопасности, поскольку дает дополнительные возможности злоумышленникам зайти на ваш сайт. Если вас интересует фича публикации постов по удаленке, то вы можете оставить ее включенной. В противном случае лучше ее отключить и проще всего это сделать, установив плагин Disable XML-RPC. Есть и другие методы как это сделать, но они требуют вмешательства в код другого плагина. И снова все, что от вас понадобится это нажать несколько кнопок – Установить и Активировать.

 

Глава вторая. Пароли и их подбор

 

Пока что все изменения, которые мы делали, были направлены на исправление косяков в самой платформе WordPress. Однако это лишь половина дела. Такой же риск может исходить и от пользователя. Есть множество способов как вы можете создать уязвимости в безопасности сайта и один из них это халатное отношение к паролям. В последних версиях движок по умолчанию требует от пользователя ввода сильного пароля. Однако все же есть еще некоторые моменты, которые нужно учитывать.

Создаем крепкий и запоминающийся пароль

Каким должен быть хороший пароль? Сложным и запоминающимся. WordPress может позаботиться о первом, сгенерировав вам свой пароль, однако скорее всего этот пароль будет далеко не легко запомнить. Вернее, вообще невозможно. Сложность пароля, несомненно, играет важную роль, так как это исключит возможность угадывания посторонними людьми. Однако запоминаемость тоже очень важна, иначе вы просто выпишете свой пароль в какое-нибудь приложение или вовсе забудете и сделаете его сброс.

Подавляющее большинство выбирают плохие пароли. Как выбрать хороший?

ракушки – это очевидно плохой пароль. Во-первых, это одно слово, которое можно легко угадать, особенно если существует какая-то причина, по которой вы выбрали именно это слово. Вы наверняка подумаете, что за человек угадает такое слово, но правда такова, что обычно люди и не подбирают пароли – за них это делают специальные боты, которые проходят через целые словари.

рак5шк1 – зачастую такие пароли ошибочно считают хорошими, но на деле это далеко не так. Такие пароли недостаточно длинные, а их сложность сбивает с толку – вы обнаружите себя в раздумьях – использовали вы 5 или у.

#Sh@*zHQWoa – подобные перлы обычно выдают генераторы паролей. Они полезны только в случае, если вы пользуетесь каким-нибудь менеджером паролей, но последнее создает уже новые проблемы.

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

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

Гигиена хороших паролей

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

Всегда запоминайте свои пароли. Выше в статье мы уже обсуждали почему так важно делать свои пароли запоминающимися.

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

Не делитесь своими паролями с другими. Даже если вы доверяете кому-то, это еще не значит, что те люди соблюдают гигиену паролей.

Помните, что пароли являются первой линией защиты своего WordPress-аккаунта. И хотя не стоит полагаться только на них, хорошо подобранный пароль может выполнить существенную часть работы.

Убедитесь, что ваш пароль нельзя сбросить

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

ВНИМАНИЕ! Любой, у кого есть доступ к вашему аккаунту электронной почты, могут с легкостью получить доступ и к вашему аккаунту WordPress, заблокировав их оба. Поэтому также важно не забывать и о безопасности своего э-мэйла.

Запрещаем многочисленные попытки входа 

По умолчанию в WordPress нет встроенной функции, блокирующей неоднократные попытки входа. Это значит, что настойчивый товарищ может сидеть чуть ли не целыми днями и только и делать, что подбирать разные пароли и имена пользователей для доступа к админке. В этом случае соответствующий плагин смог бы ограничить количество таких попыток – например, уменьшить их до трех в час. Чтобы достичь этого нужно установить плагин вроде WP Limit Login или более серьезное решение типа Sucuri.

Установка WP Limit Login

Установите и активируйте плагин, после чего зайдите в его настройки.

Number of login attempts: число попыток, прежде чем наступит блокировка

  • Lockdown time in minutes: количество минут, в течение которых будет действовать блокировка.
  • Number of attempts for captcha: количество неудачных попыток, после которых сработает каптча
  • Enable captcha: хотите ли вы вообще связываться с каптчей.

Внимание! Если ваш блог начнет тормозить, то вы всегда можете зайти в админку и повыключать плагины один за другим, чтобы выявить виновника.

 

Глава третья. Добавляем внутреннюю систему мониторинга

 

Как вы заметили, мы за время статьи успели внести множество маленьких изменений в менеджменте и управлении сайтом. Однако вы можете увеличить общую безопасность при помощи целой системы безопасности, которая будет вносить изменения и без вашего участия. Wordfence и Sucuri являются самыми популярными системами в данном направлении. И хотя у WordPress тоже есть свой официальный плагин безопасности, он не может тягаться с перечисленными системами в своих возможностях.

Мониторинг безопасности с Sucuri

Sucuri не только может почистить уже взломанный сайт, но и защитить другие от нападений.

Sucuri является ведущим решением по безопасности WordPress все в одном. Sucuri не только надежно защищает ваш сайт, но и снижает количество времени, которое вам нужно на настройку и администрирование. Вот одни из самых ключевых возможностей Sucuri:

— чистка сайта. Если вас уже взломали, то Sucuri может восстановить ваш сайт и почистить следы взлома. Вы также сможете сбросить пароль любого пользователя, сбросить существующие плагины, и отследить потенциально вредоносную активность.

— репутация сайта. Если ваш сайт уже был добавлен в черный список Google или его отключил хостер, то Sucuri может помочь вам это определить.

— защита сайта. Если вы хотите защитить сайт от взлома, то Sucuri предлагает защиту от ДДОС и брутфорсов, в дополнение к защите от множества других уязвимостей.

— SSL-сертификаты. Sucuri предоставляет SSL-сертификаты для своих клиентов в рамках профессиональных тарифов. Благодаря ним, вы сможете зашифровать и защитить данные, которые пересылаются через ваш блог.

— продвинутая защита сайта. Sucuri сканирует, обнаруживает и смягчает последствия кибератак через специальный файрволл. Сюда также входит защита от атак ДДОС и брутфорсов.

— постоянное сканирование и мониторинг – система регулярно сканирует сайт на наличие вредоносных программ.

— укрепление сайта. Sucuri также вносит массу изменений, чтобы улучшить общее состояние защиты WordPress. Например, обновляет движок, PHP, убирает публичное отображение версии движка, защищает директорию загрузок, ограничивает доступ к внутренним директориям, обновляет и использует ключи безопасности, а также проверяет утечку информации.

Sucuri это комплексный плагин безопасности, который можно установить совершенно бесплатно. Чтобы это сделать, скачайте Sucuri WP Plugin. Нажмите по Sucuri в вашей новой админке. Sucuri сперва убедится, что WordPress не был изменен каким-либо образом. Также он убедится в том, что сайт чист и не попадала в черные списки.

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

Как только API будет сгенерирован, вы сможете пройти через настройки плагина Sucuri.

— Сканнер. Эта система ищет изменения, которые были сделаны по отношению к движку. Если у вас проблемы с вашим блогом, то обязательно воспользуйтесь сканнером.

— Hardening. Эта фича пройдется по многим изменениям, которые мы с вами внесли, и более того сможет автоматически выполнять такие классные штуки как подтверждение своей версии PHP, удалять стандартный профиль админа, и блокировать PHP-файлы в директории wp-includes.

— Post-Hack. Секретные ключи безопасности могут быть использованы для улучшения вашей безопасности и аутентификации, и любой пользовательский пароль может быть сброшен вдобавок ко всем установленным плагинам.

— Alerts. Здесь вы сможете управлять адресами уведомлений – обычно их вам будут отсылать на ваш администраторский e-mail.

— API Service Communication. Здесь хранятся ваши ключ API и его детали – тут не нужно делать никаких изменений.

— Website Info. Тут содержатся все кредиты и прочая информация, имеющая отношение к вашему сайту.

Мониторинг безопасности с Wordfence

Wordfence является ведущим условно-бесплатным плагином по типу все-в-одном для безопасности WordPress, включающий огромный инвентарь бесплатных фич в дополнение к платным опциям.

Доступный Wordfence может похвастаться многомиллионной аудиторией по всему свету. У Wordfence есть файрвал, сканер вредоносных программ, сервисы по защищенному входу – все для WordPress. Даже халявная версия обладает внушительным списком функций, наиболее значимыми из которых являются следующие:

— файрвол веб-приложений. Этот файрвол обнаруживает атаки по подобию SQL-инъекций, загрузка вредоносных файлов и попытки DDOS.

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

Доступны также и премиум-фишки:

— Защита от спама. Wordfence может проверять комментарии, ссылаясь на списки спамеров, чтобы эффективнее обнаруживать и избавляться от спама. Эта фишка также есть в плагинах вроде Akismet.

— защита от черных списков. Wordfence может дополнительно проверять, если ваш сайт спамит на другие сайты. Это распространенная тактика, чтобы отправить чей-то ресурс в черный список. Если Google видит, что ваш сайт используется таким образом, то поисковик может убрать его из поисковой выдачи.

— ограничивание рейтов. Wordfence может ограничить высокий трафик, чтобы боты все равно могли заходить на сайт, но при этом не могли ему вредить. Это особенно полезно в случае с ботами, которые просматривают сайты для их индексации в поисковых системах.

Wordfence может значительно повлиять на работу сайтов с большим трафиком.

Мониторинг безопасности с WordPress Security

WordPress официально предоставляет некоторые продвинутые фичи по безопасности через свой плагин WordPress Security. Однако функционал у плагина достаточно примитивен и на него не стоит полностью полагаться.

Вы можете получить базовый функционал через Jetpack Personal or Jetpack Business, каждый из которых включает в себя официальный плагин безопасности WordPress. Последний же включает в себя спам-фильтры, техподдержку, ежедневные бэкапы сайта и однокликовое восстановление. Однако он не устроен таким образом, чтобы мониторить и защищать от продвинутых угроз. Безопасность WordPress устроена главным образом на быстрое использование бэкапов в случае неожиданных инцидентов. Это очень удобно, если ваш сайт оказывается взломан, или его сотрудник нечаянно наносит ему ущерб какой-то своей ошибкой. Однако сейчас мы говорим о борьбе с последствиями, а не с их предотвращением.

 

Глава четвертая. Обезопасив ваш хостинг-аккаунт

Если вы не пользуетесь WordPress напрямую, то вероятнее всего ваш сайт будет использовать хостинг. Это, в свою очередь, значит, что ваш хостинг должен быть не менее защищенным, чем и сам блог. Получив доступ к вашему хостингу, злоумышленник может сделать что угодно, в том числе и полностью стереть ваш сайт с лица земли.

Подбираем правильный хостинг

Начнем с главного – вам нужно сотрудничать с хостингом, который работает с WordPress или даже напрямую направлен на блогеров WordPress. Их интерфейс не только будет более подходящим для нужд движка, но и сможет предоставить более подходящую защищенность системы.

Есть тысячи компаний, предлагающих свои услуги в качестве хостинга, и хотя с первого взгляда они могут выглядеть схожими, одни будут надежнее других. При выборе хостинга нужно обратить внимание на следующие вещи:

— насколько популярен этот хостинг? Крупные хостинги как правило обладают наилучшими решениями в плане защиты в силу количества людей, которые пользуются их услугами. Это вовсе не значит, что такие хостинги будут самыми лучшими, но надежными – однозначно.

— является ли аккаунт общим? Если хост предлагает общий аккаунт, то это сразу открывает дополнительные уязвимости для злоумышленников, поскольку большое количество пользователей используют одну и ту же среду. Подавляющее большинство блоггеров не будут платить деньги за выделенный сервер, но они все равно могут инвестировать средства в VPS (частный виртуальный сервер) дабы уменьшить риски.

— есть ли у хостинга встроенные фичи по защите? Уважаемый хостинг обычно предлагает своим клиентам автоматические бэкапи, SSL-сертификаты и файрволлы для пользования.

Как и со многими другими вещами, не стоит брать самые дешевые хостинги, когда есть немного более дорогие, но зато и более надежные варианты.

Добавляя внешние системы мониторинга

Системы мониторинга, файрволы и сканеры используются для защиты сайтов от нападок. Популярными вариантами в данном направлении являются Cloudflare и Sucuri, хотя некоторые хостинги также предлагают и собственные утилиты. Эти решения созданы, чтобы обнаруживать и убирать угрозы. Они также способны обнаруживать подозрительный трафик и отклонять его, оставляя сайт на плаву.

Внешние системы мониторинга полезны в частности против атак DDos. Система мониторинга сможет определить DDOS атаку и сможет отклонить все вражеские запросы, в то же самое время обеспечивая зеленый свет обычному трафику. Внешние системы мониторинга также могут быть использованы, чтобы определять и отклонять потенциально небезопасные соединения.

Что такое DDOS, спросите вы. В случае с DDoS-атаками хакеры используют несколько устройств одновременны, чтобы создать множественные подключения к вашему сайту. Эти подключения нагружают ваш сайт, в результате чего ему не удается реагировать обычные подключения. Это, пожалуй, самый быстрый и простой способ убрать чей-то сайт.

Cloudflare является неплохим инструментом для блогеров WordPress. Он не только надежно защищает от попыток DDoS-атак и обнаруживает потенциально вредный трафик, но и работает через CDN, который ускоряет работу сайта, кэшируя его данные. В результате ваши пользователи смогут куда быстрее получить доступ к странице и будет куда меньше нагрузки на сервер. Одно из неоспоримых достоинств еще и то, что сервис совершенно бесплатный и позволяет управлять многими сайтами сразу, также предоставляя данные для аналитики, с помощью которых вы сможете измерить трафик и скорость работы сайта.

Настройте SSL-сертификат и WordPress

Суть сертификатов заключается в том, что благодаря им ваши данные будут зашифрованы. Это значит, что люди, которые увидят ваши данные, не смогут их прочитать. Многие сайты, которыми вы пользуетесь, наверняка, имеют SSL-сертификат. О наличии такого сертификата может свидетельствовать иконка замочка возле ссылки, а сама ссылка начинается с https вместо http.

Не все хостинги предлагают такой сертификат. В некоторых случаях вам придется приобретать его отдельно. Или же воспользоваться плагином, в который такой сертификат уже входит, например, Sucuri. После установки сертификата вам также надо будет соответствующим образом настроить SSL.

Как добавить SSL и HTTPS в WordPress 

Нажмите по General на странице настроек у себя в админке. Поменяйте адрес своего сайта с http на https.

Если у вас уже имеется добавленный на сайт контент, то вам также придется позаботиться о включении редиректа. Для этого сперва нужно зайти в главную директорию своего хостинга. Обычно это место называется htdocs, но также вполне спокойной может быть и названием вашего сайта. Здесь вам надо будет изменить файл, называющийся .htaccess, чтобы вставить следующий текст:

RewriteEngine On

RewriteCond %{SERVER_PORTZ} 80

RewriteRule ^(.*)$ https://www.[blog].com/$1 [R,L]

В примере выше [blog] это название вашего сайта. Этот код будет делать автоматический редирект с http на https.

Обновите права доступа к файлам

Права доступа говорят вашему серверу, кто может смотреть и получать доступ к каждому из файлов вашего сайта. По умолчанию в WordPress установлены права 777. Через FTP вы можете получить доступ к этим директориям и поменять значение прав доступа на, скажем, 750 или 755. В то время как все смогут редактировать эти файлы, их изменение и удаление будет требовать дополнительных прав допуска.

Ваш файл wp-config.php должен быть настроен на 600, а файлы в директориях вашего WordPress должны быть настроены на 640 или 644. Эти разрешения позволяет вам делать все, что вы захотите. Они просто снизят риск того, что кто-то может изменить или удалить ваши файлы.

Отключаем рапорты об ошибках PHP

По умолчанию на многих серверах в случае ошибок с PHP-кодом будут отсылаться отчеты. Эти отчеты помогают разработчикам при отладке, однако они также могут засветить и слабые места вашего сайта, что является повышенным риском. Вы можете отключить отчеты об ошибках. В случае если произойдет ошибка будет отправлена просто пустая страничка.

Для этого вам придется внести изменения в файл wp-config.php, доступ к которому вы можете получить через FTP или браузер в базовой директории установленного WordPress. В начале файла перед первой строкой вы должны вставить:

error_reporting(0);

@ini_set(‘display_errors’,0);

 

Глава пятая. Защита от пользователей

 

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

Важность ограничения разрешений

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

— пользователь может случайно или умышленно начать удалять посты других пользователей

— взлом одного пользователя может привести к серьезному риску. Соответственно, чем меньше у пользователей администраторских функций, тем лучше.

Часто также люди назначают определенным пользователям администраторские права на некоторое время. Это удобно, когда нужно сделать какие-то правки, но часто люди также забывают о том, что сделали какого-то пользователя админом.

Настраиваем ограничения паролей

Из второй главы мы узнали насколько важно добросовестно относиться к выбору пароля. Однако то, что вы щепетильно относитесь к паролям вовсе не значит, что это делают все. Другие люди могут попросту пользоваться паролями, которые взламываются на раз-два и тем самым подвергают ваш сайт повышенному риску. Чтобы этого избежать заставьте своих пользователей использовать лишь действительно крепкие пароли. Под крепкими паролям мы подразумеваем не только длину, но и содержание специальных символов помимо цифр и букв. По умолчанию WordPress и так требует от пользователей крепкие пароли, но если у вас старая версия движка, то вы можете добавить этот функционал сторонним плагином вроде Force Strong Passwords.

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

Выбрасывать простаивающих пользователей

Иногда люди забывают о том, что они зашли к вам на сайт. Когда это происходит, они подвергают ваш блог лишнему риску – любой, кто находится за этим компьютером может получить доступ к вашему блогу. Чтобы это исправить можно установить плагин, который будет автоматически выбрасывать пользователей после долгого простоя. Самым популярным решением является плагин Idle User Logout Plugin. Этот плагин позволяет выбрать какие роли будут простаивать и сколько времени должно пройти, прежде чем вы выбросите пользователя. Пользователи не потеряют свои данные – им просто нужно будет перезайти, чтобы продолжить работу.

 

Глава шесть. Защита от сторонних сервисов и утилит

 

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

Подтверждая сторонние плагины

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

Поэтому прежде чем устанавливать сторонний плагин, вы должны задать себе следующие вопросы:

— сколько обзоров у плагина и насколько хороший у него рейтинг? Вам стоит избегать плагины, которыми почти никто не пользуется, и плагинами, которые были опубликованы впервые, так как в них могут таиться уязвимости безопасности, которые еще не были обнаружены.

— насколько отполирован плагин и его документация? чем больше документации у плагина, тем лучше – это значит, что разработчик добросовестно относится к его дизайну. Соответственно, плагин, который выглядит хорошо, наверняка, разрабатывался кем-то, кто внимательно относится к деталям.

— сколько еще плагинов выпустил разработчик? Чем больше у разработчика опыта с WordPress, тем больше вероятность того, что они выпустят солидный и защищенный плагин для своей платформы. Если они не выпустили ни одного другого плагина, они могут недостаточно хорошо разбираться в безопасности WordPress.

Избегаем сомнительные сервисы от третьих сторон

Наиболее распространенный тип таких сервисов связан с вредоносной рекламой. Под вредоносной рекламой подразумевается реклама, которая содержит в себе вредоносный код. Многие блоггеры спонсируют свои детища через рекламу от третьих лиц. В то время как основной целью сомнительных рекламодателей являются пользователи, а не сам сайт, ваш блог может все равно от этого пострадать, угодив в черный список, если поисковик найдет на вашем сайте вредоносный кол. Есть несколько способов избежать таких продуктов:

— использовать только популярные сервисы. Например, Google Adsense и Bing Ads являются двумя крупнейшими рекламными сетями, однако это не значит, что они никогда не содержат в себе вредоносный код – они просто более надежные.

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

— быстро реагируйте на потенциальные угрозы. Если у вас есть подозрение, что на вашем сайте есть сомнительный код, очень важно тут же решить проблему – даже если для этого придется снести рекламу на время пока вы будете разбираться. В противном случае вы можете лишиться трафика и повредить репутации своего сайта.

Обнаружение потенциально опасных плагинов и шаблонов

Интернет это огромное место, и в поисках какого-то плагина или шаблона вы можете оказаться на стороннем сайте, предлагающем самые популярные WordPress-штуки. Однако когда вам обещают что-то бесплатно, то обычно кроется какой-то подвох. В данном случае подвох это вирус. Покупая премимум-шаблон или плагин для WordPress, очень важно делать это через репозиторий или доверенный сайт. Существует много сайтов, предлагающих WordPress-шаблоны и плагины бесплатно. Однако даже если в них и не содержится вируса, их использование незаконно.

Устанавливайте только те плагины, которые вам нужны 

Несмотря на то, что плагины могут придать шикарный функционал вашему блогу, они не всегда бывают так уж и необходимы для вашего сайта. Дело не только в риске – каждый плагин немного замедляет работу сайта.

 

Глава семь. Компьютеры, соединения и Интернет вещей

 

Представьте себе надежно защищенный по всем параметрам жесткий диск и вора, который пытается заполучить данные, хранящиеся на этом диске. Потребуются дни, чтобы злоумышленник смог взломать этот диск. А у вора имеется всего несколько минут времени. Внимание вопрос: что он будет делать? Верно, вор просто возьмет жесткий диск и уйдет с ним восвояси.

Защитите свой блог от физического вмешательства 

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

— всегда удостоверяйтесь, что все ваши устройства должным образом защищены. Они должны быть защищены ПИН-кодом или паролем, который, если есть такая возможность, в свою очередь должен быть защищен двухступечатой аутентификацией вроде сканера отпечатков пальца или сканера радужки. Ваши устройства должны автоматически блокироваться по истечении некоторого времени, чтобы они были защищены во время простоя.

— не пользуйтесь публичными компьютерами для доступа к своему блогу. Вы никогда не знаете что может находиться на таком компьютере и подозрительность в этом деле никогда не бывает лишней. Если информация о входе находится на таком компьютере, то с таким же успехом в ваш блог может зайти любой другой пользователь. Аналогично и с электронной почтой – не заходите в нее с публичного компа, так как через почту злоумышленники легко могут добраться и до вашего блога.

— никогда не заходите на свой блог через публичный вай-фай, потому что сеть Wi-Fi могут предоставлять кто угодно, включая людей, пытающихся заглянуть в ваши данные или вставить вредоносный код в передачу данных. SSL в этом плане очень недурно помогает, шифруя трафик вашего сайта, однако всегда остаются потенциальные уязвимости, связанные с публичными WiFi-соединениями.

 

Глава восьмая. Готовясь к худшему

 

Что будет, если ваш сайт все-таки одолеют? Вы знаете где находятся ваши бэкапы? Как быстро вы можете их использовать? Насколько они актуальны? Чтобы избежать даунтайма вам нужно быстро отвечать на эти вопросы.

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

Поэтому было бы неплохо:

— иметь временную страницу, которая будет уведомлять ваших посетителей о том, что ваш сайт испытывает трудности, но в скором будущем вернется в строй

— знать где находятся ваши бэкапы и как их по возможности быстрее восстановить

Уметь перезапускать и включать сервисы, на которые основывается ваш сайт. Например, веб-сервис или база данных.

Четыре лучших практики для бэкапа сайтов

  1. Бэкапы должны быть автоматическими. Не полагайтесь на ручные бэкапы, однажды вы просто забудете их сделать. Настройте расписание бэкапов таким образом, чтобы они делались в наименее посещаемые часы вашего сайта, поскольку они требуют некоторых ресурсов системы. Также убедитесь, что они работают как и надо, что все действительно происходит по расписанию. Не забудьте регулярно их проверять, поскольку они могут начать отказывать, если им будет не хватать свободного места.
  2. Бэкапы должны быть постепенными. У вас должны быть ежедневные, еженедельные и ежемесячные бэкапы. Вы никогда не знаете в какой момент можете потерять данные.
  3. Бэкапы должны быть в избытке. Никогда не кладите все яйца зачеркнуто бэкапы в одну корзину. В этом смысле наиболее полезны бэкапы через облако, поскольку они по умолчанию подразумевают, что бэкапы будут в надежном месте. Но что если вы потеряете доступ к облаку? Поэтому храните бэкапы на разных устройствах.
  4. Бэкапы должны быть повсюду. Не стоит хранить их лишь на сервере своего хостинга, ведь представьте что будет, если хостинг взломают. Также не нужно надеяться только на свой жесткий диск – что если он откажет?

Варианты бэкапа WordPress-сайта 

Ваш хостинг. Обычно хостинги предлагают собственную систему бэкапа. Но не все. Например, в случае с приватными серверами вам нужно самому устанавливать системы бэкапа.

Бэкап по облаку. Есть сервисы, которые автоматически делают бэкапы в облако. WordPress предлагает такой вариант через плагин безопасности.

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

Идеальная система бэкапа сделает резервную копию вашего сайта как на хостинге, так и в облаке. Это дает вам сразу несколько опций по восстановлению данных.

Глава девять. Управление и мониторинг сайта

 

Настройка сайта и установка необходимых инструментов вовсе не одноразовая работа. Время от времени вам понадобится управлять своим сайтом и мониторить его, если вы, конечно, хотите, чтобы он был надежным. Вам также надо будет регулярно его обновлять и защищать от новых и более продвинутых угроз.

Делайте свой сайт актуальным

Вы могли заметить, что WordPress частенько выпускает обновления. Это делается не только в целях улучшения функционала, но еще и для того, чтобы устранять возможные уязвимости. Чтобы ваш сайт был «здоровым» крайне необходимо регулярно обновлять движок. Некоторые плагины по безопасности вроде Sucuri будут регулярно проверять вас на наличие последней версии WordPress.

Избавляемся от устаревших плагинов

Плагины это еще одна вещь, которую нужно регулярно обновлять. Причина та же, что и в случае с самим WordPress – старый плагин может обладать рядом уязвимостей и все, что останется сделать киберпреступнику это найти блоги, пользующиеся старыми плагинами. Даже если новая версия плагина предлагает более урезанный функционал по сравнению со старой – все равно стоит обновиться.

Держим сайт в чистоте

Сайты часто обрастают контентом, плагинами и шаблонами. Чтобы сайт был чистым очень важно удалять все, чем вы не пользуетесь: неактивными плагинами, старыми шаблонами и прочим ненужным контентом. Эти вещи не только занимают лишнее место и ресурсы, но и могут представлять угрозу даже если они деактивированы.

 

Выводы

 

С первого взгляда может показаться, что сохранение безопасности в WordPress задача не из легких, однако стоит немного приноровиться и все станет простым и понятным. Более того многие вещи вам нужно будет пройти всего лишь раз. А благодаря сторонним системам и плагинам вроде Sucuri и Wordfence часть рутинных процессов будет выполняться за вас автоматически в режиме двадцать четыре на семь. Автоматизируя работу по безопасности плагинами, вы не только увеличите аккуратность, но и сбережете свое время. Существует бесконечное число угроз сайту и причин, по которым злоумышленники могут на вас напасть. Поэтому безопасность блога очень важный и неотъемлемый момент. Своевременно обезопасив сайт, вы сможете получить трафик намного быстрее. Безопасность это первое, о чем нужно помнить при создании блога. У защищенного блога будет минимальный даунтайм и он будет работать гораздо шустрее.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520


Вы хотели бы отслеживать активность пользователей, пока они еще на сайте? Вы можете отслеживать просмотры страницы, источники рефералов, время, проведенное пользователем на странице, и многое другое, просто установив Google Analytics, однако для более глубоких результатов вам понадобится отслеживание событий. В этой статье мы расскажем вам как добавить отслеживание событий Google Analytics в WordPress.

Что такое отслеживание событий

Отслеживание событий позволяет вам измерить действия пользователей на вашем сайте. Этими действиями могут быть нажатия по кнопкам, воспроизведение видео, скачивание файлов, отправка форм и так далее. Допустим, вы добавили видео на страницу товара и хотите узнать насколько оно эффективно в плане конверсии. Отслеживание событий позволяет вам узнать сколько пользователей проиграли ролик. Другой пример это основанные на ajax заполнения форм. Если вы пользуетесь Gravity Forms или другим контактным плагином, то отправка форм не превращается в новый просмотр страницы. Используя отслеживание событий, вы можете увидеть как пользователи взаимодействовали с формой. То же самое касается и скачиваний файлов: вы можете отследить как много пользователей скачали файл, используя отслеживание событий и даже то, какую кнопку на странице нажимали чаще всего. Отслеживание событий отличается от отслеживания ссылок в Google analytics. Все это позволяет вам увидеть, как люди ведут себя на вашем сайте. Это же, в свою очередь, позволяет вам выбрать правильную стратегию для продаж и конверсий, основываясь на предпочтения пользователей.

Приступаем

Перед тем как приступить, вам понадобится настроить и установить Google Analytics на свой сайт. Существует два типа Google Analytics, который используют на сайтах. Если ваш код выглядит как:

<script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga');  ga('create', 'UA-XXXXXX-1', 'auto'); ga('send', 'pageview'); </script>

То вы используете более новую версию Universal Analytics. Если нет, то вам надо обновиться. Если вы не собираетесь использовать продвинутые способы отслеживания, то можете просто переключиться со старого кода на новый, просто поменяв код в настройках своего профиля.

Создаем свое событие в Google Analytics

Зайдите в свой профиль Analytics и нажмите по ссылке Admin в самом верху. Если у вас несколько сайтов, то убедитесь, что вы просматриваете панель управления нужного вам сайта.

Там будут три колонки под администраторской страницей. Щелкните по ссылке Goals под колонкой View.

Затем надо нажать по кнопке нового задания. На странице настроек целей нажмите по Custom.

Затем укажите название, которое поможет вам легко обнаружить задание среди прочих. В качестве типа задания выберите Event.

Последним шагом будет указать детали задания. Вам надо будет ввести условия события. Сервис будет засчитывать конверсию, когда все эти условия будут совпадать. В этом примере мы указали категорию и действие для каждого события. Мы ввели метку события и указали значение. В зависимости от события вы можете давать названия категориям, действиям и меткам. Для отслеживания большинства событий достаточно нулевого значения.

Наконец нажмите по кнопке Create Goal и можете себя поздравить с успешным включением отслеживания события в Google Analytics. Следующим шагом будет отслеживание события на сайте и отправка данных в Google Analytics.

Добавление отслеживания событий onClick

Самый простой и, возможно, быстрый способ добавить отслеживание событий Google Analytics это использование способа onclick. Этот способ просто отправляет условия события в Google Analytics когда пользователь щелкает по элементу. В этом примере мы будем отслеживать пользователей, которые щелкнули по ссылке скачивания книги. Мы добавим параметр onClick к ссылке скачивания, используя такой формат.

onClick="ga('send', 'event', 'category', 'action', 'label', 'value');"

Вам надо будет заменить категорию, действие, метку и значение на те, что отвечают условиям вашего события. В итоге ссылка на скачивание книги будет выглядеть таким образом.

<a onClick="ga('send', 'event', 'Downloads', 'Click', 'Ebook downloaded', '0');" href="http://example.com/wp-content/uploads/2015/06/free-ebook.pdf">Download Free Ebook</a>

Когда пользователь будет щелкать по ссылке, будет происходить отправка события в Google Analytics.

Добавляем отслеживание событий с помощью Google Tag Manager

Google Tag Manager это онлайн-инструмент, который позволяет вам добавить различные коды для отслеживания в качестве тегов. Вы можете использовать его, чтобы создавать теги для отслеживания событий у себя в профиле Google Analytics. Основное преимущество использования Google Tag Manager заключается в том, что вам не нужно будет вручную добавлять код себе на сайт и вы можете управлять всеми своими тегами с одного места. Если у вас на сайте уже вставлен код отслеживания Google Analytics, то понадобится его убрать. Как только вы успешно добавите тег Google Analytics в менеджер тегов, то следующим шагом будет создание нового рычага. В рамках этой статьи мы будет использовать отслеживание заполнения формы в качестве события. Нажмите по Triggers в менеджере тегов и затем щелкните по кнопке New.

Вы попадете в мастер настройки, где вам надо будет выбрать форму события.

В настройках рычага вам надо убрать галочку с wait for tags и отметить check validation.

Потом вам надо выбрать когда запускать рычаг. Если на вашей странице только одна форма, то вы можете выбрать все формы. Если ее больше, чем одна, то выберите Some Forms.

Если у вас на странице более одной формы и вы хотите отслеживать специфическую форму, то вам надо сообщить менеджеру тегов какую именно вы хотите отслеживать. Щелкнув по кнопке some buttons, вы увидите фильтры.

Фильтр это просто набор инструкций вроде: если А отвечает Б, то запускается рычаг. Вам надо выбрать новую переменную, после чего откроется специальное окно. Выберите DOM в качестве типа своей переменной. Затем, выберите ID в качестве метода отбора. Ваше окно браузера разделится на два. Вы увидите HTML вашей страницы в нижнем экране. Атрибут id будет частью вашего тега или же содержащей div формой.

Скопируйте и вставьте форму ID под элементом ID и атрибутом. Затем, щелкните по кнопке create variable. Вы попадете назад к фильтру, где надо будет выбрать свою пользовательскую переменную. Выберите contains в условии matching и снова введите ID своей формы. Щелкните по кнопке create trigger, чтобы продолжить. Следующий шаг это создание тег для события, которое мы хотим отследить. В менеджере тегов нажмите по Tags и затем по кнопке New. Вы попадете в мастер настройки. Выберите Google Analytics в качестве своего продукта и затем щелкните по кнопке Continue.

Выберите Universal Analytics в качестве своего типа тегов. Вас попросят указать отслеживающий ID Google Analytics. Вы можете его получить из профиля Google Analytics. Потом вам надо выбрать событие и указать категорию, действие, метку и информацию о значении. В этом примере мы использовали Forms в качестве категории, отправку формы для действия, контактную форму в качестве ярлыка и submitted в качестве значения. В следующем шаге вам надо выбрать когда будет запускаться тег. Нажмите по кнопке more и выберите рычаг, который создали ранее.

Наконец можете щелкнуть по кнопке create tag, чтобы сохранить свой тег. Запомните, что сохранение тега не запускает его у вас на сайте. Вам все равно надо будет щелкнуть по кнопке публикации, чтобы все заработало.

Вот и все, теперь зайдите на свой сайт и отправьте форму, а потом направьтесь в Real Time > Events в профиле Analytics и вы увидите свое событие записанным и отслеженным.

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


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520


У вас проблемы с получением или отправкой электронных писем со своего сайта Вордпресс? Одно из решений это использовать сервисы третьей стороны вроде Mandrill. Однако их использование может обойтись в копеечку. В этой статье мы расскажем как использовать SMTP сервер, чтобы отсылать электронные письма.

Проблема с электронными письмами

Вордпресс использует почтовую функцию в PHP для того, чтобы отправлять электронные письма. На многих хостингах эта функция либо толком не настроена, либо отключена вовсе дабы избежать ее злоупотребления. В любом из этих сценариев ваши письма не будут доставлены. Альтернативным решением может быть использование сторонних сервисов вроде Mandrill, Google Apps или Sendgrid. Но вам надо будет платить за свой профиль и стоимость будет зависеть оттого, сколько пользователей/аккаунтов вы хотите добавить или сколько писем собираетесь отсылать. Но есть и третий вариант.

Использование e-mail профилей вашим хостингом

Многие Вордпресс-хостинги предлагают сервис электронной почты для каждого домена, который вы используете с ними. Это означает, что вы можете создавать e-mail профили с собственным доменным именем вроде yourname@yoursite.com. Сперва вам понадобится создать e-mail аккаунт. В целях эксперимента мы покажем вам как создать такой аккаунт в cPanel. Ваш хостинг может использовать другие системы управления профилем, но основной процесс одинаков на всех хостингах. Итак, зайдите в свой хостинг и нажмите по email accounts.

У вас появится простенькая форма, куда вам надо ввести информацию, необходимую для создания своего аккаунта электронной почты. Поскольку мы будет использовать этот профиль для отправки писем, мы рекомендуем вам использовать название вроде wordpress@example.com, заменив example.com на свое доменное имя.

Перед тем, как использовать свой e-mail профиль, нам понадобится следующая информация от вашего хостинга:

1. SMTP Host для вашего электронного ящика
2. SMTP Port для безопасного входа

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

Использование своего почтового ящика в Вордпресс

Вам надо будет установить и активировать плагин WP Mail SMTP. После активации зайдите на страницу Settings > Email, чтобы настроить плагин.

Вам надо ввести свой электронный адрес, который вы только что создали. Не забудьте удостовериться, что опция Send all WordPress emails via SMTP отмечена. Под настройками SMTP заполните информацию о вашем порте, которую получили от своего хостинга. В качестве способа шифровки используйте SSL. Поскольку мы используем сервер SMTP, плагину понадобятся ваши данные, чтобы отправлять электронные письма. В области аутентификации выберите ‘Yes: Use SMTP authentication.’ и укажите детали входа в SMTP.

Затем нажмите по кнопке сохранения, страница перезагрузится и вы увидите соответствующее сообщение.

Тестирование ваших настроек SMTP

У WP Mails SMTP есть функция отладки. После сохранения настроек пролистайте вниз и введите свой адрес электронной почты.

Плагин отошлет вам тестовое сообщение. Если вы его не получили, значит, у вас что-то не так в настройках.

Устранение проблем

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

Плюсы и минусы использования серверов своего сайта для отправки электронных писем

Самое главное достоинство это то, что вы можете использовать свой электронный адрес для исходящих писем в WordPress. Другое преимущество в том, что вы уже заплатили за эту услугу, когда регистрировались на хостинге. Вам не надо будет платить дополнительные деньги для отправки и получения электронных писем.

Однако у хостингов ВП есть свои ограничения на исходящие письма, поэтому они не очень хорошо подходят для массовых рассылок. Другая частая проблема заключается в том, что их сервера иногда могут быть ненадежными. Если вы заметите задержку в доставке писем, то вам следует подумать об использовании сторонних сервисов вроде Google Apps for Work, Mandrill или SendGrid.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520


У вас есть блог, посвященный разработке, и вы хотели бы выкладывать на нем фрагменты кодов? По умолчанию отображение кодов на сайте Ворпдресс задачка не из легких, так как по причинам безопасности фильтры WordPress блокируют любой код, добавленный в посты, виджеты или комментарии. Поэтому вам надо установить и активировать плагин Synatx Highlighter Evolved. После его активации зайдите на страницу Settings » Syntax Highlighter, чтобы настроить только что установленный плагин.

Стандартные настройки должны подойти для любых сайтов, но в любом случае вам нужно их внимательно пересмотреть и внести изменения, если это понадобится. У каждой настройки есть детальное описание ее возможностей. Плагин использует простые шорткоды для отображения кода. Для каждого языка вам надо обернуть код в соответствующий шорткод. Например, в случае с PHP вам нужно будет обернуть код подобным образом:

[php]
<?php
echo “Hello World”;
?>
[/php]

Для CSS:

[css]
.entry-title {
font-family:”Open Sans”, arial, sans-serif;
font-size:16px;
color:#272727;
}
[/css]

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

Как отображать код в Вордпрессе без использования плагинов

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

&gt;?php echo «Hello World»; ?&lt;

Проблема в этом способе заключается в том, что это сложно сделать вручную, поэтому вам понадобится использовать специализированные онлайн-сервисы. Сконвертировав код в HTML вы можете вставлять его в посты. Для дополнительного оформления можете обернуть код в теги <code> и </code>.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520

Зачастую популярные сайты с членством и форумы отображают дату регистрации в профилях своих пользователей. Например: член сайта с 2015 года. В этой статье мы объясним как это можно сделать.

Когда и зачем может потребоваться отображение даты регистрации

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

Добавление колонки с датами регистраций пользователей в админке

Сперва вам надо установить и активировать плагин Admin Columns. После активации зайдите в Settings > Admin Columns, чтобы настроить плагин.

Под вкладкой колонок нажмите на users и затем щелкните по кнопке add column. Затем выберите Rigstered в выпадающем меню и щелкните по store updates. Теперь можете зайти на экран пользователей и увидите там графу Registered, отображающую дату регистрации пользователей.

Отображение даты регистрации в профиле пользователя

Чтобы показывать дату регистрации в настройках профиля вам надо загрузить пользовательский плагин. Просто создайте новый файл, используя текстовый редактор вроде Блокнота и назовите его membersince.php Затем вставьте в него следующий код:

<?php


namespace ShowMemberSince;
add_action( 'plugins_loaded', 'ShowMemberSince\init' );
/**
 * Adding needed action hooks
*/
function init(){
  foreach( array( 'show_user_profile', 'edit_user_profile' ) as $hook )
		add_action( $hook, 'ShowMemberSince\add_custom_user_profile_fields', 10, 1 );
}
/**
 * Output table
 * @param object $user User object
 */
function add_custom_user_profile_fields( $user ){
	$table =
	'
<h3>%1$s</h3>


<table class="form-table">

<tr>

<th>
				%1$s
			</th>


<td>


Member since: %2$s

			</td>

		</tr>

	</table>

';
	$udata = get_userdata( $user-ID );
	$registered = $udata->user_registered;
	printf(
		$table,
		'Registered',
		date( "M Y", strtotime( $registered ) )
	);
}
?>

Сохраните файл и загрузите его на сайт WordPress. Вы можете подключиться к своему сайту с помощью FTP-клиента и зайти в папку wp-content/plugins/ Теперь можете зайти на страницу плагинов и активировать свой новый плагин. На этом все. Удостоверьтесь в работе плагина, просто зайдя в правку профиля у себя в админке, и вы увидите дату регистрации пользователя.

Отображение даты регистрации пользователя у себя на сайте

В этом способе мы будем использовать простенький шорткод для отображения даты регистрации пользователей у себя на сайте. Сперва вам надо добавить следующий код в файл functions.php

function wpb_user_registration_date($atts, $content = null ) { 

$userlogin = shortcode_atts( array(
'user' => FALSE,
), $atts );

$uname = $userlogin['user'];     

if ($uname!== FALSE) {             

$user = get_user_by( 'login', $uname );  
if ($user == false) { 

$message ='Sorry no such user found.'; 


} else { 

$udata = get_userdata( $user-ID );
$registered = $udata->user_registered;

$message =	'Member since: ' . date( "d F Y", strtotime( $registered ) );

}
	
} else { 

$message = 'Please provide a username.'; 

} 

return $message; 

} 

add_shortcode('membersince', 'wpb_user_registration_date');

Затем вы можете отобразить дату регистрации пользователя просто используя шорткод вроде этого:

[membersince user=peter]

Только замените peter на имя пользователя, чью дату регистрации собираетесь отобразить.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520


Мы всегда советуем своим пользователям делать полную резервную копию своих сайтов на регулярной основе. Но что если вы по собственному незнанию использовали плагины, которые делают бэкапы лишь баз данных. В этой статье мы расскажем вам как можно восстановить сайт Вордпресс с помощью одного лишь бэкапа баз данных. К слову, это не будет полным восстановлением, но мы объясним как свести к минимуму потери.

Приступаем

В рамках этой статьи мы предполагаем, что у вас есть бэкап вашей базы данных в виде .zip-файла. Для начала вам понадобится создать новую базу данных. Просто зайдите в свой профиль cPanel и щелкните по MySQL Databases под разделом Database.

Затем укажите название своей базы данных и щелкните по кнопке create database.

Теперь, когда вы создали базу данных, вам нужен пользователь MySQL, которому можно назначить все привилегии для работы с только что созданной базой данных. На этой же странице баз данных просто пролистайте вниз до раздела MySQL users и добавьте нового пользователя.

Укажите имя пользователя и крепкий пароль. Потом вам надо добавить созданного пользователя к базе данных. Прокрутите вниз до Add user to database и выберите пользователя вместе с базой данных из выпадающих меню и нажмите кнопку Add.

Импорт резервной копии базы данных ВП

Зайдите в cPanel и под разделом баз данных щелкните по phpMyAdmin.

Затем выберите базу данных, созданную ранее на странице phpMyAdmin и щелкните по кнопке импорта. Теперь вам надо щелкнуть по кнопке выбора файлов для загрузки резервной копии базы данных.

После успешного импорта базы данных следующим шагом будет установка ВП, используя вашу новую БД.

Восстановление сайта Вордпресс

Для ручного восстановления ВП вам понадобится вручную установить Вордпресс на свой сервер. Во время установки, когда вы дойдете до шага create a configuration file, введите название базы данных и пользователя, которого создали ранее.

Вы увидите сообщение, что ВП может подключиться к вашей базе данных и вы сможете запустить установку. Щелчок по кнопке установки покажет вам сообщение Already Installed.

На этом все, можете зайти на свой сайт.

Устранение проблем

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

1. Шаблон

Просто установите свежую копию вашего старого шаблона WordPress. Если вы вносили изменения в старый шаблон, то они все исчезнут.

2. Виджеты

Виджеты хранятся в базе данных, поэтому использование старого шаблона восстановит некоторые из них. Вы всегда можете зайти в Appearance – Widgets и переупорядочить виджеты в сайдбарах. У некоторых плагинов есть собственные виджеты и, чтобы их использовать, вам сперва надо будет установить и активировать эти самые плагины.

3. Постоянные ссылки

Структура постоянных ссылок вашего сайта также хранится в базе данных и будет автоматически восстановлена. Однако если вы видите ошибки 404, то вам надо обновить настройки постоянных ссылок. Просто зайдите в Settings > Permalinks и нажмите по кнопке сохранения настроек без изменения чего-либо. Это обновит вашу структуру адресов WordPress.

4. Плагины

WordPress ведет запись активных плагинов вашего сайта. Когда вы в первый раз зайдете на страницу плагинов, WordPress покажет вам список ошибок для каждого плагина, который присутствовал в базе данных, но больше не установлен на сайте.

Скопируйте названия плагинов и начните устанавливать и активировать их один за другим.

Восстановление утерянных изображений

Поиск и замена утерянных изображений вашего сайта будет самой непростой частью восстановления сайта. В зависимости от того, сколько у вас было изображений, эта процедура может занять некоторое время. К несчастью, нет никакой возможности обойти эту часть процесса стороной. Вам придется прибегнуть к различным способам, чтобы извлечь свои изображения и шансы на восстановление ВСЕХ картинок весьма низки.

1) Загляните в кэш своего браузера

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

Вы можете просто щелкнуть правой кнопкой по изображению и выбрать сохранить его из меню. Пользователи Google Chrome на Windows могут использовать Chrome Cache Viewer. Пользователи же Мака остаются за бортом, так как мы не смогли найти эффективный инструмент для предпросмотра и сохранения изображений в кэше браузера на Маке.

2) Поиск ваших изображений в кэшах веб-страниц

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

Можете щелкнуть по изображению, чтобы увидеть более крупную версию картинки и сохранить ее. Если же речь идет о восстановлении более старого сайта и вы не можете найти изображения в Google или Bing, то вы можете поробовать сайт Archive.org Это бесприбыльная организация, которая хранит снимки сайтов в исторических целях.

Поиск и замена изображений на вашем сайте

Если на вашем сайте было много контента, то поиск и замена изображений вручную может оказаться нелегкой задачей. Вот простой способ как можно быстро обнаружить и заменить неисправные картинки. Установите и активируйте плагин Broken Link Checker. После активации зайдите на страницу Tools > Broken Links Checker. Плагин покажет вам список всех неисправных ссылок на вашем сайте.

Неисправные изображения также считаются как неисправные ссылки, поэтому они так же появятся в списке. Вы можете отсортировать список ссылок таким образом. чтобы сперва отображались сломанные ссылки на изображения. Теперь вы можете заменить изображения, которые вы восстановили, редактируя посты. Что же до изображений, которые вы не смогли восстановить, можете просто пересоздать их или отключить ссылки на них.

Бонусный совет

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


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520


В то время как WordPress является хорошим местом для публикации своих постов, он до ужаса ограничен из-за чего многие пользователи решают перебраться на Вордпресс и в этой статье мы расскажем как это можно сделать.

Проблемы в переезде с ЖЖ в Вордпресс

В отличие от других платформ ЖЖ не разрешает делать редиректы, а это значит, что многие пользователи, заходя на ваш сайт в ЖЖ не будут автоматически перенаправлены на ваш новый сайт в Вордпресс. Ваша единственная надежда это удалить свой профиль в ЖЖ и ждать пока поисковики проиндексируют ваш сайт. Даже после удаления своего ЖЖ какое-то время поисковые системы будут отображать его в выдаче результатов поиска. Еще одна проблема при переезде с ЖЖ на ВП заключается в том, что в ЖЖ нет импорта изображений – это значит, что вам надо будет самостоятельно скачать свои картинки и загрузить на свой новый сайт.

Зачем переезжать с ЖЖ на ВП?

Для начала давайте расставим все точки над и: под Вордпрессом мы подразумевам сайт на своем хостинге. В ЖЖ есть куча удобных фишек вроде закрытых постов, друзей, сообществ и так далее. Но он очень ограничен в плане управления журналом. А бесплатный тариф еще ограниченнее. С другой стороны, ВП позволяет вам создавать защищенные паролем посты и имеет схожую систему комментирования. Правда, в ВП нет сообщества, как в ЖЖ, но никто не запрещает вам подключить сайт к другим сообществам. ВП бесплатный и открытый – вам принадлежит ваш контент и вы можете делать с ним все, что вам заблагорассудится. Вы можете раскручивать свой сайт как сами того хотите и даже зарабатывать на нем деньги.

Прежде, чем начать

Первое, что вам понадобится для работы с ВП это хороший хостинг и личный домен. Мы советуем использовать Bluehost, поскольку он находится в списке официально рекомендуемых Вордпрессом хостингов. Если вас по каким-то причинам не устраивает Bluehost, то можете обратить свое внимание на Siteground. Приобретя домен и хостинг следующим вашим шагом будет установка Вордпресса и импорт своего контента из ЖЖ.

Импорт контента ЖЖ в Вордпресс

Вордпресс предлагает отличный инструмент импорта, который автоматически импортирует ваши записи ЖЖ, комментарии и теги в ВП. Просто зайдите в Tools > Import и щелкните по Livejournal.

WordPress выдаст вам окно установки плагина для импорта ЖЖ. Вам также могут показать предупреждение о том, что плагин не был проверен на совместимость с вашей версией Вордпресса. Можете смело проигнорировать это предупреждение и нажать кнопку Install Now.

Плагин по импорту ЖЖ будет установлен на ваш сайт и вам надо будет щелкнуть по ссылке активации плагина и запустить импортировшик.

Вы увидите страницу, где вам надо ввести свое имя пользователя и пароль от ЖЖ. Это позволит вашему сайту на ВП подключиться к контенту с ЖЖ.

Если у вас есть защищенные паролем посты на сайте ЖЖ, то вам понадобится ввести пароль. Как только все будет подготовлено, нажмите на Connect to LiveJournal and Import. WP начнет импортировать ваш контент. Процесс разбит на несколько разных шагов и может потребовать время, если у вас в ЖЖ много постов и комментариев. Если импорт оборвется, то можете спокойно попробовать еще раз, так как импортировщик достаточно умен, чтобы избегать повторный импорт одних и тех же постов. Как только все будет сделано, вы увидите соответствующее сообщение, уведомляющее вас о завершении работы.

Можете зайти в раздел Posts, чтобы увидеть все свои посты.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520