Предходният пост провокира разговор с приятел, изкушен да опита Ghost. Любопитно му бе какви са впечатленията ми и защо се върнах обратно към WordPress. Покрай този разговор се поразмислих какво наистина ми харесва и какво не в двете платформи и съответно реших да споделя, доколкото може разсъжденията ми да са от полза още за някого.

Първо няколко уточнения:

  • Директните сравнения между двете платформи биха били някак несправедливи, понеже Ghost е твърде млад проект и се е прицелил в ниша, която WordPress по-скоро изглежда като да оставя леко встрани.
  • Технологично двете платформи разчитат на доста различен приложен stack.
  • И макар и да харесвам различни белези и при двете, използвам WordPress още от първите му версии и трябва да отчитам влиянието на свикването и симпатиите, които са се натрупали у мен към него с времето.
  • И още едно уточнение. Понеже съм гърмян заек, аз не спрях WordPress сайта си, а само го свалих offline. Иначе казано миграцията обратно беше доста лесна, защото имах recovery point към който да се върна, като само трябваше да изравня натрупалото се междувременно съдържание в Ghost към старата си WordPress база. Това е важно, понеже обратният път е доста каменист.

Какво ме накара да опитам Ghost?

Любопитството на първо място. Работата ми е свързана с непрекъснати тестове на един или друг софтуер или платформа. А най-добри впечатления се трупат, когато са на собствен гръб. Допълнително Ghost засили това любопитство с различния си фокус (чиста блог платформа), технологии (от долу Node.js, а откъм потребителя Markdown) и семплост, от една страна характерна за всеки млад проект, а от друга – това е водещ принцип при разработката на Ghost

Какво ме накара да оглеждам алтернативи на WordPress?

Използвам WordPress от времето, когато беше някакви двеста и нещо килобайта код. Преди това ползвах Movable Type. WordPress тогава ме спечели с пъргавина, семплост и… подреденост. Да, да – знам, че сега някой ще каже, че тогава беше много по-неподреден от сега, plugin-ите бяха хакове, сигурността беше леко условна в някои отношения и въобще имаше известна каша, но проектът беше обозрим и вършеше прекрасно работата си, въпреки грешките на младостта и растежа.

С времето WordPress от блог-машина се превърна в универсален боец и излезе от рамката на основната си идея – блогването. То, разбира се, остана в базиса му, но новата посока към CMS и publishing платформа от една страна добавиха много удобства, без които признавам си трудно си представям свой проект, но от друга кодът набъбна и започна да изисква доста – и ресурси, и време, и внимание. Дори при мен, макар отдавна да не съм толкова активен блогър и сайтът ми да не провокира толкова трафик, колкото в най-силните му периоди, често имах грижи, свързани най-вече с производителността и натоварването, които трудно се вместваха в стандартните споделени хостинг оферти и дори малките VPS-и.

В София миналата година Matt каза нещо като (цитирам по памет): да, WordPress вече има нужда от повече ресурси, не може да очакваме след толкова време да работи върху хостинг за $5. И не мога да отрека, че е прав, защото в крайна сметка, ако някой иска просто да блогва и да не рови под капака – има wordpress.com като услуга. Ако претендираш за нещо повече, то има цена. Но… все пак… все си мисля, че една WordPress mini версия, прицелена в доброто старо блогване и до днес щеше да има своя вярна публика. Особено при текущия мащаб на общността около Automattic. Btw със същите мисли John O’Nolan подхвана Ghost.

Другото нещо – Markdown. Във времето, когато мигрирах към Ghost, WordPress още не поддържаше официално Markdown. Буквално само седмица или две по-късно бях изненадан приятно да чуя анонс и за това. Обожавам Markdown! Точка. Не! Удивителна! Считам Markdown за своеобразна революция! И макар да нямам никакъв проблем да пея на HTML (аз пея ужасно, така че наличието на HTML в пеенето ми направо спасява нещата), когато пиша, при всички случаи, от много време насам използвам Markdown. Той заслужава побутване из нашите „географски“ интернет ширини, защото все още е незаслужено непопулярен, но това е тема за някой друг нарочен пост.

Какво ми хареса и какво не толкова при Ghost?

Започвам с плюсовете. Ghost е ужасно, ама ужасно пъргаво животинче. Ползването на семплия му интерфейс е удоволствие, особено заради комфорта на писането без почти никакво разсейване. Отляво текстът (с Markdown), отдясно форматиращият се в реално време краен вид на публикацията. Долу ляво tags, дясно бутон save или submit. И малко опции скрити в отлистващ се панел. Това е. Семпло, фокусирано в съдържанието решение за блогване.

Цената на удоволствието – изисква node.js под себе си, което означава, че е нужен хостинг с node.js или VPS, респ. собствен сървър, където човек да си подкара каквото му е нужно. Пускането му изисква известно усилие, което е детска игра за средно грамотен администратор, но вероятно ще е трудно до невъзможно за технически неизкушени представители на човешката раса. Но за тях пък Ghost се предлага като платена услуга (всъщност идеята на проекта е да се издържа от платените си потребители). При този вариант (има и пробен период) се плаща месечна такса, срещу която екипът се грижи за техническите неща, обновленията се случват автоматично, а потребителят само твори на воля.

За мен опцията да ползвам Ghost as-a-Service не е приемлива, защото не мога да си поиграя както обичам с нещата под повърхността. Затова изпратих дарение на екипа, възлизащо на няколко месечни такси и си свалих безплатната опция, която инсталирах върху VPS от DigitalOcean. Между другото, в момента е много лесно да се подкара Ghost върху DigitalOcean, понеже последните вече предлагат готов template за него и всичко се вдига с едно щракване за няколко секунди.

Каква обаче е цената да се поддържа жива една Ghost инсталация? Проектът е още доста суров, развива се от много малък екип и меко-казано ужасно бавно. Например, едва наскоро потребителите бяха зарадвани с възможността да имат previous и next post линкове :) Обновяванията добавят доста скромна функционалност, но пък са чести, което не е проблем ако се ползва като услуга, но ако човек си го дундурка сам, това означава доста често (примерно на около 2 седмици) да минава през ръчно-крачна процедура по обновяване, която може да се скриптира лесно и не боли, но изисква някои съобразявания и последващи проверки дали всичко работи, особено ако човек не ползва темата по подразбиране. А така или иначе за ползване на новите благинки се налага човек сам да си ги добави в темплейта, ако не иска да чака дизайнера на неговия темплейт да се натутка. Много от тях чакат 5-6 ъпдейта накуп за да обновят темплейтите си – и няма как да им се сърди човек. Добрата новина е, че темплейтите на Ghost са базирани на Handlebars и не е нужно да си гений за да си ги хакваш сам, достатъчна е много базова web dev грамотност.

Друг недостатък е, че SEO-то на проект с Ghost е от никакво (доскоро) до средна хубост (към момента). Едва от няколко месеца има автоматично генериране на sitemaps и meta description (с ръчна редакция при желание) на публикациите.

На опашката за бъдещите версии все още чакат доста ключови неща – като може би едни от най-основните са локализацията, архивите, related posts, управлението на съдържанието отвътре, което е доста базово и създава грижи при по-голям сайт, публикувани и чернови са смесени в един поток, заедно със статичните страници за още по-весело. Картинки и изобщо мултимедийното съдържание засега се управлява малко тромаво и куцо. Коментари Ghost си няма по замисъл – ползват се външни услуги за това като Disqus.

На фона на всичко това, очаквам вече въпроса – и защо всичкия този мазохизъм? Но всъщност няма такъв. Ghost прави малко неща, но идеята му е да ги прави по един конкретен (и правилен според авторите му) начин, да работи пъргаво и да работи добре. И каквото може да прави Ghost наистина го прави бързо и добре. Просто още е в периода на нулевите си версии. За някого, който само ще блогва и предимно текст е прекрасно решение, особено ако се ползва като услуга, което ще разтовари блогъра от техническите детайли по поддръжката на платформата му. Но Ghost не е за всеки, особено като stand-alone инсталация. Бих го препоръчал като as-a-service само за блогъри, които тепърва започват и нямат амбиции да растат твърде много, което пък няма как да се отгатне в началото.

От чисто бизнес гледна точка – няма достатъчно инструменти за задържане на вниманието на посетителя или те не са достатъчно развити. Иначе казано – няма удобни архиви, няма подсказвания за подобни други публикации и т.н.

Ghost (поне засега) според мен е силно неподходящ за сайтове с повечко съдържание или такива, които дори с малко излизат от рамката на обичайното лично блогване.

Миграцията към него е относително лесна, но от него към нещо друго (включително към WordPress) си има особености и не е лъжица за всяка уста. Ghost трудно ще впечатли повечето потребители на WordPress, свикнали със зрелостта и богатата функционалност на платформата си. Общностите на двата проекта са несъпоставими – нито по брой, нито по многообразие и най-вече дух. Ghost някак не успяват със случването на community около себе си, да не кажа, че вече ми се струва, че дори не се старят… Вече две години след старта на проекта още няма публикувано API, нито друг разумен начин за разширяване на core-функционалността.

Това, което най-много липсва при Ghost е общността и духа на community-то на WordPress, което само по себе си е явление в света на open source софтуера и в света на технологиите изобщо. И нямам предвид размера на тази общност, а усещането и емоцията, която се носи от всеки plugin.

Та…

Защо се върнах към WordPress?

Започнах с отговора на този въпрос още в предходния абзац. А и целият пост донякъде обяснява защо. Отделно, че това бе тест с планирано завръщане, което почти бях сигурен, че ще направя. Наясно бях, че много неща ще ми липсват без WordPress, а и съм свикнал ужасно много с него, за да не отчитам тежестта на емоционалната си привързаност.

Допълнително към това, моят сайт е натрупал толкова съдържание с времето, че имам нужда от гъвкавостта, зрелостта и функционалността на WordPress и като CMS за да ми бъде лесно и удобно.

И нещо, за което не говоря, но yovko.net винаги е бил тестова площадка за други мои и чужди WordPress-базирани проекти и имам нужда тя да продължи да бъде такава.

И накрая, нещо което ще прозвучи като реклама, но наистина е важно… Имах късмета наскоро, покрай един друг проект, да пробвам услугите на SiteGround и останах много приятно изненадан. Бях чувал много добри отзиви, но досега не се беше случвало да имам преки впечатления. И понеже този пост стана наистина ужасно дълъг, ще спестя технически детайли и подробности, но момчетата и момичетата от екипа на SiteGround, само на първо четене изглеждат като обичайна хостинг компания, защото истината е, че са необичайна и различна хостинг компания, а в предлаганите от тях услуги е вложено сърце и много свежи и оригинални идеи. А това прави нещата съвсем различни като краен резултат. Особено по посока производителност, включително извън България. Силно ги препоръчвам! Най-вече за WordPress проекти. От няколко дни и този сайт преместих там, защото макар и да претеглих други опции, балансът между удобството, цената и производителността, която получавам нямат равни на нищо друго, което съм опитвал до тук. А и са компания с български корени, която си е отвоювала своето място на глобалния пазар, за което заслужава и адмирации и подкрепа.

Уютно е… с WordPress :)

Написано от Йовко Ламбрев

IT и Интернет експерт, инженер, предприемач, блогър и фотограф от Пловдив. Фен на WordPress, книгите и музиката. Вярва, че можем да направим света по-добър.

  1. Харесва ми, как постоянно експериментираш и опитваш нови неща! :-)

    Много обстойно ревю, Ghost vs WP.

    Имам питане: Как успя да преместиш старите си коментари от WP базата към Disquss… и после обратно към WP базата? Това не е ли трудна процедура?…

    Отговор

    1. Disqus не е за подценяване. Услугата е прилична, с богата функционалност и бързо се свиква с нея. Има доста прилични инструменти за import и export. Конкретно за WordPress има плъгин, който при първо пускане засмуква локалните коментари и ги праща в Disqus, като след това се грижи да ги sync-ва, при желание от твоя страна. В общия случай работи добре. При мен имаше грижи, защото бях пускал Disqus за проба преди време и след деактивацията тази стара версия беше оставила следи в 1-2 таблици на базата ми. Всъщност всеки коментар беше маркиран и с disqus_id, съответно трябваше да почистя внимателно и прецизно следите от предишния disqus plugin преди да сработи новата им версия. Въпреки това не се получаваше добре, понеже процесът по засмукването на коментарите спираше на различни места, но така и не приключваше докрай. Може би му идват твърде много (не знам), но чак пък толкова. Съответно използвах друго решение.

      Disqus може да си засмуче сам коментарите от стария сайт и да ги закачи към новия, ако URL-ите съвпадат. Иначе казано – има Crawler. Той дори работи и ако URL-ите не съвпадат, стига да има правилно set-нати 301 redirects. С това се получи добре. Само процесът е бавен и малко се „лашка“ във времето. В смисъл че не трябва да очакваш резултат веднага. И пак пропускаше коментари, но ако го пуснеш 2-3 пъти накрая успя да засмуче почти всичко. Казвам почти защото математически имаше разлика между броя коментари в WP-базата ми и тези, които Crawler-а засмука. Примерно, не излизаше бройката с около 30 коментара, но при положение, че имам нещо като 10000, реших да не се вживявам.

      Отделно Disqus има migration wizard ако сменяш име на домейн, и това работи, ползвал съм го с един друг мой временен домейн. А в най-краен случай можеш да му напишеш в един Excel в две колони стар URL и нов URL, които да нямат нищо общо. Да му хвърлиш този файл в CSV формат и да му кажеш – ей ти го mapping-а (URL mapper се казва инструмента) – оправяй се. И той се оправя :) Само дето ако имаш много публикации, да правиш такъв файл е pain in the ass.

      Най-трудното на тези инструменти е да ги намериш къде са ги забутали в мега-замотания им интерфейс! За мен Disqus има едно от най-лошите UI/UX на света.

      Обратното по същия начин. Само дето забравих да направя нужното преди да сменя URL-ите, а последното исках да го направя веднъж завинаги, за да махна проклетите ID-та от URL-ите си. Та сега трябва да пиша mapping файл и да се надявам Disqus плъгина за WordPress да изравни коментарите, а вече някак не му вярвам за да го оставя пак да ми пипа чистичката и подредена база. Затова си взех native коментарите от последния архив на WordPress и съответно последните 15-20 новодобавени оттогава насам публикации загубиха своите, които останаха в Disqus. Технически пак имам начин да ги върна, в една тестова инсталация на WP, но както писах в предишния пост… мързи ме :)

      Отговор

      1. Това е много интересно с коментарите, и преместването им от WP към Disquss и обратно! Благодаря – сигурен съм че и на други тази инфо ще е много, много полезна! :-)

        P.S. Няколко изгубени коментара не са нещо фатално… е, поне в повечето случаи. :)

        Отговор

  2. Йовко велика статия!
    Ти си мъж!

    Отговор

  3. Интересно ревю, не бях чувал за този Ghost, но след ревюто няма и да се наложи ☺

    Между другото, прегледах хостинг доставчика, за който пишеш. Имаш ли идея защо човек да избере тях, а не например утвърден и доказан доставчик, като Superhosting?

    Отговор

    1. Нямах такава идея за Ghost ревюто (то не е ревю, но няма значение). Точно хакер-ориентирани като теб си мисля, че може да го пробват поне, но не бих те бутал към миграция – отделно, че и ти си ретро-улегнал блогър с натежало съдържание ;)

      Иначе на въпроса – имам идея от първа ръка защо – но не искам да влизам в детайли и сравнения Superhosting vs. SiteGround, защото знаеш, че е щекотлива тема това с директните съпоставки, особено като се обсъжда нещо с кирилската азбука – много лесно захвърчават емоции – но имам по няколко сайтове, които дундуркам и при двете фирми. Т.е. имам преки впечатления. С две думи SiteGround имат специално отношение към WordPress и не е само маркетинг :) Предлагат няколко на пръв поглед дребни глезотийки, но не бих се отказал да са ми на разположение. Отделно, че за проекти с публика и извън българския интернет SiteGround стоят доста добре международно. Иначе Superhosting са ОК и искам нищо лошо да кажа за тях, по никой начин. Особено за насочени предимно към България сайтове са повече от прекрасна опция.

      Отговор

Ако искате да споделите нещо