Andrii · AI at work

All lessons

01

My website hasn't worked for five years. I'm rebuilding it into a portal — showing everything

22:26 · 20 steps

  1. 1 00:00 Five copies of one entry — live
  2. 2 00:48 The duplicates are not in the search, but in the markup
  3. 3 01:08 An empty first screen
  4. 4 01:22 Breakdown of the "before": nine roles, Skills, English 55 %
  5. 5 02:58 Two storefronts: the website and the channel
  6. 6 03:29 Who I am and why this isn't about a pretty website
  7. 7 04:30 Architecture on the board: four tasks
  8. 8 06:54 The stack out loud: why not a website generator
  9. 9 07:55 Three things before the first prompt
  10. 10 08:59 First prompt: the skeleton
  11. 11 10:49 Sections: works in a single scheme
  12. 12 13:09 Where AI did the wrong thing: invented facts
  13. 13 15:09 A silent error: hreflang "ua" instead of "uk"
  14. 14 15:38 Languages and URL structure

    1 What to do

    Three languages as folders in the URL, hreflang plus x-default, and what we deliberately don't translate.

    2 Prompt

    EN · Prompt
    Language versions. Three languages: Russian, Ukrainian, English.
    URLs are folders: Russian without a prefix, /uk/, /en/. No subdomains,
    no parameters in the URL.
    
    Do:
    
    1. In base.html — a block of links to the language versions of the current page
       (rel="alternate") plus a default version for the case when the visitor's
       language matches none of them. The default is the Russian version.
       Fill in the language codes yourself; I'll check them separately.
    
    2. A language switcher in the header: ordinary links, no JavaScript.
       It leads to the same page in another language, not to the home page.
    
    3. We don't translate everything. Language versions exist for: the first screen,
       "How I work", "Works", "Contact". The "Archive" section
       with videos has none — they're in Russian, and a Ukrainian card for a Russian video
       adds nothing.
       If a page has no version in the requested language — don't invent
       an empty page: lead to the Russian version and don't put
       a language link on it.
    
    4. Check: go through all the routes and output a table
       "URL — language — is there a translation — where the language link leads".
    EN · Prompt from the screen
    Языковые версии. Три языка: русский, украинский, английский.
    Адреса — папками: русский без префикса, /uk/, /en/. Ни поддоменов,
    ни параметров в адресе.
    
    Сделай:
    
    1. В base.html — блок ссылок на языковые версии текущей страницы
       (rel="alternate") плюс версия по умолчанию для случая, когда язык
       посетителя не совпал ни с одним. По умолчанию — русская версия.
       Коды языков подставь сам; я проверю их отдельно.
    
    2. Переключатель языка в шапке: обычные ссылки, без JavaScript.
       Ведёт на ту же страницу в другом языке, а не на главную.
    
    3. Переводим не всё. Есть языковые версии у: первого экрана,
       «Как я работаю», «Работы», «Контакт». Их нет у раздела «Архив»
       с роликами — они на русском, и украинская карточка русского ролика
       ничего не добавляет.
       Если для страницы нет версии на запрошенном языке — не выдумывай
       пустую страницу: веди на русскую версию и не ставь на неё
       языковую ссылку.
    
    4. Проверка: пройди по всем маршрутам и выведи таблицу
       «адрес — язык — есть ли перевод — куда ведёт языковая ссылка».

    Ask in Telegram

  15. 15 16:42 The funnel: form, email, channel
  16. 16 17:21 Four events in analytics
  17. 17 17:51 Deploy to my own VPS
  18. 18 18:35 Before and after
  19. 19 19:49 Where it breaks
  20. 20 20:58 Homework and what's next