Prečo a ako migrovať z Wordpressu na Hexo
Webová agentúra » Digitálne správy » Prečo a ako migrovať z WordPress na Hexo

Prečo a ako migrovať z WordPress na Hexo

Asi 2 roky som písal svoju spätnú väzbu na starý dobrý WordPress. WordPress je univerzálny nástroj, ktorý pozná a používa každý, ľahko sa inštaluje a umožňuje s nízkou investíciou vytvárať témy, rozšírenia...
Áno, ale dnes som sa rozhodol opustiť WordPress:

  • Používam WordPress na vytváranie statického obsahu, a preto nemám skutočný záujem zakaždým dynamicky generovať stránku.
  • WordPress je pomalý a napriek mojej investícii nič nepomáha, 1 sekunda na to, aby som vždy vytiahol rovnaký obsah, je príliš veľa.
  • Som vývojár PHP a PHP je „šablónovací“ jazyk, ale nemôžem vidieť zmesi šablón a obchodného kódu...
  • ... Preto som si nikdy nenašiel čas na prispôsobenie témy. Používal som oficiálnu tému WordPress, ktorá bola načítaná, nezaberala celú šírku obrazovky a naformátovala väčšinu mojej práce do stĺpca s veľkosťou približne 350 pixelov…!

úvod

Áno, ale aké sú nevýhody?

Všeobecnejšie, statické generátory ako Hexo alebo Jekyll generujú obsah... statický, a preto neponechávajú priestor pre obsah vyžadujúci spracovanie, ako sú komentáre. Tento problém ma trápil dlho a nakoniec som sa rozhodol pre Disqus. Predtým, ako som sa rozhodol, som si projekty trochu naštudoval a tu je to, čo som si odniesol.

  • Disqus (alebo akékoľvek iné SaaS) decentralizuje váš obsah. Komentáre nie sú vaším vlastníctvom. Existuje dovozca a vývozca. Napriek tomu žiadna údržba doma.
  • Riešenia ako Isso alebo Discours vám umožňujú mať podobný systém doma, ale zahŕňa to zálohovanie obsahu (problém, ktorý sme už mali s WordPress), ale aj na zabezpečenie správneho fungovania vášho SMTP (už známy problém)…
  • Deportovanie komentárov vám tiež umožňuje hostiť váš blog napríklad na GitHub.

ISSO

Isso je skvelá alternatíva, ktorá vyzerá veľmi podobne ako Disqus, no chýba mu pár detailov.

  • Žiadny back-end na správu komentárov.
  • V mojich testoch som sa dočítal, že komentáre môžete moderovať prostredníctvom odkazu dostupného v e-maile alebo v denníkoch. Tieto odkazy som nikdy nevidel, takže som mal urobiť nejaké databázové dotazy.

Okrem toho bol Isso ideálnym produktom. Nepochybujem o tom, že sa bude ďalej rozrastať a že čoskoro napíšem článok o migrácii z Disqus na tento.

rozhovor

Diskurz bol druhou alternatívou, ale v skutočnosti som to netestoval. Tento ponúka platenú verziu a tieto technické predpoklady ma rýchlo zarazili.

Prečo Hexo a nie Jekyll

Odpoveď je jednoduchá. Jekyll je rubín zatiaľ čo Hex je JavaScript (Node.js). Páči sa mi syntax JS, a preto to bolo pre nich jednoduchšie prispôsobiť, rozumieť, …

Ako to funguje?

1
2
3
4
$ # Nainštalujte Hexo
$ npm install -g hexo-cli
$ # Vytvorte si blog
$ hexo init my-blog && cd môj blog

Tu to máte, váš projekt je pripravený. Môžete ho verzovať.

Ako generovať obsah

1
$ hex vygenerovať

Ako zobraziť obsah napísaný v Markdown bez regenerácie celého obsahu

1
$ hexoserver

Pomocou tohto jednoduchého príkazu získate prístup k serveru Node.js ktorý vám ho vykreslí v reálnom čase. Adresa je zvyčajne http://localhost:4000.

Ako migrovať moje príspevky z WordPress

Hex implementovala mnoho nástrojov na migráciu vášho obsahu. Pre WordPress je to veľmi jednoduché.

1
2
3
$ npm nainštalovať hexo-migrator-wordpress --uložiť
$ # Prejdite do svojej backoffice WordPress a [exportujte obsah svojho blogu](https://en.support.wordpress.com/export/).
$ hexo migrovať wordpress /cesta/k/exportovanému_súboru.xml

Na migráciu obsahu nepotrebujete nič viac. Obtiažnosť spočíva v migrácii príslušenstvo (ako obrázky). V súbore zdroj/_príspevky musíte vytvoriť priečinok s rovnakým názvom ako súbor s článkom.

Príklad k článku nakresli-ma-ovcu.md musíte vytvoriť priečinok nakresli mi ovečku.

Do týchto priečinkov skopírujete obrázky z vášho WordPress. Potom sa budete musieť vrátiť k svojim článkom a zmeniť zdroj. V mojom prípade načítané obrázky zostali na pôvodnom zdroji.

Príklady:

1
2
3
4
5
6
7
# Predtým
![Môj obraz](https://mon-blog/wp-content/mon-image.png)
# ALEBO
<img src=„https://my-blog/wp-content/my-image.png“ />
# Po
![Môj obraz](/nakresli-me-ovečku/môj-obrázok.png)

Prečo zadať názov priečinka v ceste k môjmu obrázku?

Týmto spôsobom by ste mohli úplne načítať obrázok.

1
![Môj obraz](môj-obrázok.png)

To sa rýchlo stáva problémom. Na stránke článku sa obrázok načíta dobre, pretože je relatívny k aktuálnej stránke, ale na vašej homepage, obrázok sa načíta vzhľadom na domovskú stránku a potom sa zobrazí a 404 Not Found.

Konfigurácia

Ak chcete skopírovať obrázky, musíte túto konfiguráciu vložiť do svojho _config.yml.

1
2
#_config.yml
post_asset_folder: pravdivý

Ako nastaviť presmerovania

Hlavným problémom po migrácii obsahu je nestratiť prirodzené odkazy. Je to o vojnové šľachy a problém som obišiel celkom ľahko.

Články

Spočiatku majú články pre URL :rok/:mesiac/:deň/:názov. Vo WordPresse je zvyčajne iba názov. Vložte do svojho _config.yml túto hodnotu.

1
2
#_config.yml
trvalý odkaz: :title/

Kategórie

S kategóriami je to trochu rovnaký príbeh. Tentoraz je cesta takmer rovnaká. Vo WordPress je to tak Kategórie/ a v hexo Kategórie/ (predvolene). Tu je návod, ako to zmeniť.

1
2
#_config.yml
category_dir: kategórie

Tagy

S tagmi je to vždy ten istý príbeh. Vo WordPress je to tak deň/ a v hexo značky/ (predvolene). Tu je návod, ako to zmeniť.

1
2
#_config.yml
tag_dir: štítok

archívy

Toto je najtechnickejšia časť a zároveň najjednoduchšia. Vo WordPresse sa archívy nachádzajú v rok/mesiac/ a v hexo je to tak archívy/rok/mesiac/. V mojom prípade som nechcel meniť cesta v hexo a chcel som zachovať tento nový spôsob robenia vecí.
Tu je presmerovanie Nginx vytvoriť.

1
2
3
4
5
6
7
server {
...
Poloha / {
rewrite ^/(d{4})/(01|02|03|04|05|06|07|08|09|10|11|12)/ /archives/$1/$2/ permanent;
}
}

Tento regulárny výraz nie je ani zďaleka najdokonalejší, ale bude impozantný.

Ostatné

O príloh musíte urobiť malé presmerovanie, ale v každom prípade bude strata SEO menej škodlivá.

Tu je postup, ako vykonať presmerovanie pomocou Nginx.

1
2
3
4
5
6
7
server {
...
Poloha / {
prepísať ^/nakresli-me-ovečku/môj-obrázok/$ /nakresli-me-ovečku/môj-obrázok.png natrvalo;
}
}

Čo ak Google uvidí presmerovanie 404?

Žiadny strach, s týmto stavom v Nginx, žiaden problém. Všetky presmerujeme 404 vers la homepage.

1
2
3
4
5
6
7
8
9
server {
...
error_page 404 @fallback;
umiestnenie @fallback {
prepísať ^/ / trvalé;
}
}

Migrovať komentáre

Cez Disqus, tu je odkaz, ktorý vám umožní jednoducho importovať vaše komentáre WordPress.

Sitemap

Existuje projekt na jednoduché generovanie mapy webu pomocou Hexo. Stručne povedané, tu je postup.

1
$ npm nainštalovať hexa-generátor-sitemap --uložiť
1
2
3
#_config.yml
mapa stránok:
cesta: sitemap.xml

záver

S malou investíciou môžete ľahko migrovať svoj obsah. Malý prechod na kontrolu, či boli články správne migrované a či sú zabalené. V mojom prípade mám iba 23 pravidiel presmerovania pre celý môj web. Jednoduché?

★ ★ ★ ★ ★