WordPress. Nastavení, tipy a pluginy co jsem použil

Jak jste si jistě všimli, tak web nyní běží na WordPressu. Kdysi jsem s ním už koketoval, takže jsem věděl, že ho asi budu chtít někdy nasadit, protože Joomla, Drupal mi přišly na jednoduchý blog dost overkill. Jenže jinak jsem byl WordPressem prakticky nepolíben, takže jsem musel nastudovat kde co a jak.

Takže co jsem kde poladil protože mi to přišlo zajímavé/důležité:

Práva složek

Na BigDrobek psali, tak jsem udělal (Povinně přečíst celý článek). Zde jsou doporučená práva pro jednotlivé složky a soubory WordPressu:

  • Složky: 755 nebo 750
  • Soubory: 644 nebo 640
  • wp-config.php: 600
  • .htaccess: 440 nebo 444 (Pozor nikdo pak nebude mít možnost upravovat soubor dokud přes ftp zvýšit práva na 644)

Ostatně shodné nastavení doporučuje plugin iThemes Security.

.htaccess

Zde lze zapsat několik zajímavých řádů, používám dnes používal jsem výcuc z toho co jsem našel na .htaccess Tricks for Better WP SEO & Security. Ale iThemes Security je asi dostačující.

# BEGIN iThemes Security - Do not modify or remove this line
# Enable HackRepair.com's blacklist feature - Security > Settings > Banned Users > Default Blacklist
# Ban Hosts - Security > Settings > Banned Users
# Protect System Files - Security > Settings > System Tweaks > System Files
# Disable Directory Browsing - Security > Settings > System Tweaks > Directory Browsing
# Protect System Files - Security > Settings > System Tweaks > System Files
# Disable PHP in Uploads - Security > Settings > System Tweaks > Uploads
# Filter Request Methods - Security > Settings > System Tweaks > Request Methods
# Filter Suspicious Query Strings in the URL - Security > Settings > System Tweaks > Suspicious Query Strings
# Enable the hide backend feature - Security > Settings > Hide Login Area > Hide Backend
# END iThemes Security - Do not modify or remove this line
# Force SSL (tohle jsem hooodne dlouho hledal, vse co jem nasel nefungovalo az na tohle)
RewriteCond %{ENV:HTTPS} !=on RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

wp-config.php

I zde existuje spousta zajímavých skrytých nastavení, všechny naleznete na Editing wp-config.php. Určitě je dobré zkontrolovat zda máte vyplněné Authentication Unique Keys and Salts! Já je měl po instalaci prázdné, takže pěkně na té stránce secret-key vygenerovat a doplnit!

Dále se silně doporučuje změnit prefix tabulek na cokoliv jiného než „wp_„. Toto rozhodně udělat už při instalaci, pak se to blbě mění.

Dále tam mám koukám tohle, no, ještě se na to někdy mrknu. A všechny přesměrování řeším přes plugin Redirection, dá se to naklikat a hlavně to loguje kolikrát bylo přesměrování využito.

// BEGIN iThemes Security - Do not modify or remove this line
// iThemes Security Config Details: 2
define( 'DISALLOW_FILE_EDIT', true ); // Disable File Editor - Security > Settings > WordPress Tweaks > File Editor
// END iThemes Security - Do not modify or remove this line

define('FORCE_SSL_ADMIN', true); // Enable SSL

/* Set the address instead of having the server checking it, this will reduce server queries. Set the code in wp-config.php */
define('WP_HOME', 'https://www.mikrom.cz');
define('WP_SITEURL', 'https://www.mikrom.cz');

/* Limit the number of saved revisions, FALSE for disable */
define('WP_POST_REVISIONS', false);
define('AUTOSAVE_INTERVAL', 300); // seconds

/* Trash */
//define('EMPTY_TRASH_DAYS', 7); // empty weekly, 0 = disable trash

/* Debugging */
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true); // Tell WordPress to log everything to /wp-content/debug.log
define('WP_DEBUG_DISPLAY', false); // Turn off the display of error messages on your site
@ini_set('display_errors', 0); // For good measure, you can also add the follow code, which will hide errors from being displayed on-screen

robots.txt

Understanding And Optimizing The WordPress robots.txt zde je velmi fundované a obsáhlé vysvětlení co a jak. Pointa je v tom, že by se to nemělo moc přehánět a detailně specifikovat kam roboti smí a kam ne, protože Google se na web kouká jako na celek, a když nebude moci k nějakým stylům, skriptům, tak se mu web nebude líbit.

Pokud skrýt nějaké složky mimo WordPress, tak klidně, ale jinak nechat přístup skoro všude. Někde se i doporučuje dát do robots.txt odkaz na sitemap.xml, ale prý je to k ničemu – chce to sitemapu zadat přímo na Googlu.

Soubor robots.txt by měl tedy být asi jen takovýhle (možná tak maximálně přidat odkaz na sitemap.xml):

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://mikrom.cz/sitemap.xml

sitemap.xml

Nemusíme nijak řešit, postará se o něj mimojiné plugin The SEO Framework.

Pluginy

Jó, píše to každej, tak já taky! Mým cílem bylo držet množství pluginů na minimu, a tím minimem jsem si představoval třeba pět – to nejde. Ať se snažím jak chci, tak prostě něco tam mermomocí chci! A navíc jsem si řekl, že se chci vyvarovat nějakým ručním úpravám PHP souborů, protože na WP narozdíl od RS2 vychází nějaká aktualizace každou chvíli, a pak by se mi to přepsalo.

Takový ty Akismety apd. tu vypisovat nebudu, ale co je pro mě rozhodně must have je:

  • Broken Link Checker – vypisuje kde je jaký odkaz nefunkční, přesměrovaný apd., takže když chci, tak můžu opravovat odkazy ve staších příspěvcích aby byly stále funkční.
  • iThemes Security – měl jsem původně Wordfence, nevím co je lepší, nevím do jaké míry využiju, ale prozatím takhle. Nakonec jsem skončil u All In One WP Security & Firewall.
  • Randomize – chtěl jsem zachovat nějaké ty proměnlivé hlášky, tohle to umí perfektně, dá se to hezky spravovat a umístit kamkoli jako widget. (Pokud si zapnete ve WordPressu DEBUG, tak tento plugin hlásí nějaké upozornění, chtělo by ho aktualizovat – řeším na stránce pluginu. Bug vyřešen, i kompatibilita s PHP7.)
  • Redirection – nejhorší je držet tu zpětnou kompatibilitu, když po netu visí původní odkazy. Tohle vypadá funkčně, lze nastavit jednoduché přesměrování, nebo klidně regexem, a navíc to loguje, které přesměrování bylo kolikrát použito. Už se nemusím hrabat v .htaccess. (V Migrace z RS2 na WordPress jsou vypsána pravidla přesměrování z RS2 na WordPress.)
  • Responsive Lightbox – né, nechtěl jsem LightBox. Ano, nechápu proč, když je ThickBox součástí WordPressu a používá se všude v administraci, tak proč ho nelze jednoduše použít na webu. Zkoušel jsem takové ty Auto Thickbox apd, ale vždy to fungovalo pro fotky a ne pro galerie, nebo naopak. Tohle šlape perfektně hned po nainstalování.
  • SyntaxHighlighter Evolved – občas zveřejňuji nějaký kus kódu a je hezké když je u něj zvýrazněná syntaxe – tenhle plugin to zařídí geniálně jednoduše a chybějící jazyky lze snadno doplnit ve formě pluginů – SyntaxHighlighter Evolved Brush for other programming languages
  • The SEO Framework – jasný, SEO je jen hype, texty se mají psát pro lidi a ne pro vyhledávací roboty a nejlepší SEO plugin je Yoast SEO, nebo All In One SEO Pack. Ale tohle je nějaký relativně nový plugin, který má aktivní vývoj, a snaží se nebýt přeplácaný kravinama jako Yoast za ta léta.
  • TinyMCE Advanced – měl jsem strašně rád Texy! na RS2, pak tam dal juneau ten WYSIWYG editor pro lamy a mě se to nelíbilo. Jenže je líná doba, a naklikat si to jak ve Wordu je prostě snažší. Proto mě překvapilo, jak málo toho umí výchozí editor ve WordPressu. Toto řeší tenhle plugin, už se dá normálně psát.
  • WP Smush – zkouším co se stane, když se budou obrázky a náhledy komprimovat.
  • WP-Optimize – v databázi mám rád pořádek, tak tento plugin umí, třeba i automaticky, odmazávat ty revize příspěvků, komentářový spam atd. Nebo vypadá hodně dobře WP-Sweep.

Zkoušel jsem si hrát s takovými těmi W3 Total Cache (což je zase všude doporučovaný, ultimátní kešovací plugin), ale nakonec jsem skončil u WP Super Cache + Autoptimize viz: Jak bylo náročné zrychlit WordPress.

Šablona

Když jsem hledal nějaký motiv vzhledu, tak jsem se bál, že právě to bude to co mi zabere nejvíc času. Témat jsou tisíce a nároky jsem měl velké. Nakonec se ale ukázalo, že když člověk hledá nějaké best responsive 2016 wordpress theme, tak najde opravdu pěkné kousky.

Prvním favoritem byl rozhodně Rowling. Je naprosto boží a vypadá jako kdyby se ten Cerulean Elegance co tu byl doteď prošel pořádnou evolucí pro rok 2016.

Nakonec jsem ale našel téma jiné, není tak dokonalé jako Rowling, ale má spoustu nastavení a vychytávek a jen za tu dobu co jsem web ladil na localhostu bylo asi třikrát aktualizováno – jedná se o Hueman!

Jelikož Hueman není v češtině, tak si ji musíme stáhnout zvlášť na musilda.cz. Pokud však češtinu rozbalíme do složky wp-content/themes/hueman/languages/ tak se nám po aktualizaci šablony ztratí! A že Huemana aktualizují relativně často. Doporučuji tedy soubory nahrát do složky wp-content/languages/themes/ pod názvy hueman-cs_CZ.mohueman-cs_CZ.po.

A určitě se vyplatí sledovat Translating WordPress / Locales / Czech / Themes / Hueman, kde se pracuje na oficiální verzi českého překladu! Zde lze i vyexportovat *.mo a *.po soubor, který lze opět přejmenovat a nahrát do wp-content/languages/themes/ jako výše.

5.11.2016: Od verze 3.2.10 je čeština součástí standardní instalace!

Konec?

Zatím mi to přijde jako velký začátek, krásný blog, vše se ladí k dokonalosti, ale nebojím se toho, že za chvíli bude vše ve starých kolejích a budu rád, když sem napíšu jeden příspěvek ročně 🙂

mikrom

Roman Mikulka aka mikrom. Ajťák, opravář, programátor samouk, elektrotechnik, koloběžkář a geocacher. Více na samostatné stránce O mně.

Mohlo by se vám líbit...