API и интеграции

Извършване на безсървърни (Serverless) пренасочвания с Cloudflare Workers

  • 18 минути за четене
  • Екипът на Hostragons
Извършване на безсървърни (Serverless) пренасочвания с Cloudflare Workers

Извършването на безсървърни пренасочвания с Cloudflare Workers означава да уловите искането на посетителя, преди да достигне до основния сървър, и да върнете отговор за пренасочване 301, 302 или условно пренасочване. С този метод можете да създадете бързи и мащабируеми пренасочвания, без да се налага да променяте конфигурацията на уеб сървъра, в зависимост от домейна, пътя на URL, страната, устройството, езика, параметрите на кампанията или съвпадението с старата страница. Това е особено полезно решение за SEO преходи, промени в домейна, пътища за целеви страници на кампании и управление на множество сайтове, предлагащо ниска латентност, централизирана и лесна за поддръжка структура.

Традиционните пренасочвания обикновено се извършват чрез Apache .htaccess, Nginx server block, код на приложението или контролен панел на хостинг. Тези методи все още са валидни; обаче за сайтове с висок трафик, екипи, управляващи множество домейни или проекти, при които е необходимо да се взимат динамични решения в зависимост от различни локации, Cloudflare Workers предлага по-гъвкав слой. Защото логиката на пренасочването работи в най-близкия до потребителя Cloudflare дата център. Така и натоварването на основния сървър намалява, и рискът от производителност и прекъсване поради неправилно конфигурирани сървърни правила намалява.

В това ръководство ще намерите приложими примери, започвайки от основно 301 пренасочване с Cloudflare Workers, до сценарии за базирани на пътища, с параметри на запитването, базирани на страни, фокусирани върху мобилни устройства и масови пренасочвания. Освен това ще разгледаме стъпка по стъпка в кои случаи трябва да използвате 301 и в кои 302 от SEO гледна точка, какво да наблюдавате по време на тестовия процес и какви проверки е полезно да се направят на инфраструктурата на Hostragons по отношение на домейни, SSL и хостинг. Можете естествено да погледнете страниците за управление на домейни Регистрация на домейн и управление на DNS, за безопасни връзки решения за SSL сертификати и за производителен хостинг Пакети за уеб хостинг.

Какво е Cloudflare Workers и защо се използва за пренасочване?

Cloudflare Workers е безсървърна платформа, която ви позволява да изпълнявате парчета код на базата на JavaScript на ръбовите точки на мрежата на Cloudflare. Изразът безсървърно не означава, че няма сървъри; той означава, че не вие управлявате сървърите, мащабирането, поддръжката на операционната система и капацитета на инфраструктурата. Когато посетител изпрати искане към вашия сайт, Worker обработва искането на ръба, изпълнява вашите правила и при необходимост пренасочва потребителя на друг адрес.

Най-голямото предимство на използването на Workers за пренасочване е нивото на контрол. Можете да извършите проста съвпадение на URL, както и да прочетете заглавията на искането, страната, пътя, параметрите на запитването, информацията за потребителския агент и стойността на хоста. Например можете да прехвърлите старата си страница /produkti/housing на страницата /web-hosting, да пренасочите само потребителите, идващи от извън Турция, към английския подкаталог или да прехвърлите трафика, идващ с определен параметър на кампанията, към специална целева страница.

В практиката този подход също ускорява операцията между SEO екипите и техническите екипи. Представете си, че прехвърляте 450 URL адреса от стар сайт на нов. Вместо да редактирате конфигурационния файл на сървъра, да получавате публикации и да се връщате в случай на грешка, можете да управлявате картата на пренасочването в Worker или в външно хранилище, като KV. По този начин процесите на пускане в експлоатация, тестване и възстановяване стават по-контролируеми.

Разлики между пренасочванията, базирани на сървъри и Cloudflare Workers

Във всеки проект няма един единствен правилен метод. За малък сайт, няколко 301 пренасочвания могат да бъдат достатъчни с инструмента за пренасочване в контролния панел на хостинга. Въпреки това, ако имате сложна логика, висок трафик, множество домейни и бърза нужда от промени, Cloudflare Workers става по-ефективен. Следната таблица обобщава основните разлики при вземането на решения.

Разлики между пренасочванията, базирани на сървъри и Cloudflare Workers
КритерийПренасочване, базирано на сървъриПренасочване с Cloudflare Workers
Точка на работаРаботи на основния сървърРаботи в ръбовата мрежа на Cloudflare
Натоварване на сървъраВсяко искане приближава основния източникПренасочването може да бъде завършено преди основния
ГъвкавостПравилата зависят от софтуера на сървъраМоже да се изгради условна логика с JavaScript
Скорост на публикуванеМоже да се наложи достъп до сървъра и рестартиранеБързо се публикува от панела на Cloudflare
SEO преходиСилно, но централното управление може да бъде трудноМоже да се изградят карти и да се тестват
Подходящ сценарийНяколко статични пренасочванияДинамични, многобройни и мащабируеми пренасочвания

Можете да интерпретирате тази таблица с простото правило: Ако броят на пренасочванията е малък, условията са прости и достъпът до сървъра е лесен, класическите методи могат да свършат работа. Но ако пренасочванията ви включват SEO миграция, разпределение по държави, A/B потоци на кампании или архитектура на множество домейни, слой Worker ще бъде по-устойчив.

Какво е необходимо преди започване

Завършването на техническата подготовка преди извършването на пренасочвания с Cloudflare Workers намалява грешките. Първо, домейнът ви трябва да е активен в Cloudflare и DNS записите ви трябва да са правилно конфигурирани. В DNS записите с активирано прокси на Cloudflare, които са с сиви облаци, маршрутът на Worker може да не се активира както очаквате. Затова проверете статуса на проксито на Cloudflare за хостинга, на който ще се прилага пренасочването.

  • Cloudflare акаунт и активен домейн за пренасочване.
  • Правилни A, CNAME или съответни записи на DNS.
  • Активност на проксито на Cloudflare и правилен избор на режим SSL/TLS.
  • Карта на пренасочването: стара URL, нова URL и статус код.
  • SEO контролен списък: каноничен, сайтмап, вътрешни линкове и статус на индекса.
  • Инструмент за тестове: браузър, curl или инструмент за проверка на HTTP заглавия.

Също така е важно основният ви сървър да работи здравословно. Пренасочването с Worker може да намали натоварването на основния, но не може напълно да компенсира неправилната конфигурация на DNS или SSL. Особено ако ще правите HTTPS пренасочвания, е полезно да се уверите, че SSL сертификатът ви е активен на хостинг акаунта в Hostragons. Можете да използвате Как се прави инсталация на безплатен SSL и Процедури за пренасочване чрез cPanel като допълнителни ръководства.

Стъпка по стъпка за извършване на безсървърно пренасочване с Cloudflare Workers

1. Създайте Worker

Изберете съответния акаунт в панела на Cloudflare, отидете в раздела Workers and Pages и създайте нов Worker. На първия етап Cloudflare ще ви предложи примерен скрипт. Можете да изтриете този пример и да напишете логиката на пренасочването си. Бъдете описателни при именуването; например имена като seo-redirects, domain-migration-redirects или campaign-router ще улеснят поддръжката в бъдеще.

В основната логика на пренасочването се получава искане, създава се обект URL и ако е изпълнено определено условие, се извършва пренасочване с Response.redirect. За постоянно прехвърляне за SEO се предпочита 301, а за временно пренасочване за кампания или тест - 302. 308 също може да се използва за постоянно пренасочване; но най-често и разбираемо решение все още е статус код 301 за SEO миграции.

2. Добавете проста 301 пренасочваща правила

Най-простият сценарий е да прехвърлите стара страница на нова страница постоянно. Логиката е следната: ако пътят на искането е /stara-stranica, пренасочете потребителя на адреса /nova-stranica с 301. В Worker прочетете стойността на request URL и направете проверка на pathname. Така пренасочването ще се извърши само когато съответства на съответния път, а другите искания ще продължат нормално.

Например, ако сте преминали от стара структура на URL за категория хостинг към нова, можете да прехвърлите адреса /hosting-paketi на /web-hosting. По този начин уведомявате търсачките, че страницата е прехвърлена постоянно. След няколко седмици Google ще започне да свързва новия URL по-ясно; но за това е необходимо да не създавате верига от пренасочвания и да осигурите, че старата URL директно води до крайната URL.

3. Определете маршрут на Worker

Писането на кода на Worker не е достатъчно; трябва да уточните маршрута, по който той ще работи. Например, маршрутът example.com/* обхваща всички пътища под основния домейн. Ако искате той да работи само в определен подкаталог, можете да определите по-тесен маршрут, например example.com/stari-blog/*. Поддържането на маршрута по-широк, отколкото е необходимо, може да доведе до неочаквани пренасочвания.

Преди пускане в експлоатация е добра практика да тествате обхвата на маршрута на staging или тестов поддомен. Например, можете да стартирате правилото на test.example.com/* и да проверите заглавията и поведението на пренасочването. Ако всичко е наред, можете да преминете към производствения домейн. Този метод особено предотвратява грешки при масови пренасочвания в големи SEO миграционни проекти.

4. Публикувайте и тествайте HTTP статус кода

След публикуването на Worker, просто да проверите дали страницата се отваря в браузъра не е достатъчно. Кешът на браузъра понякога може да покаже старата версия. Вместо това проверете HTTP заглавията, за да потвърдите, че статус код 301 или 302 се връща правилно. Също така проверете в заглавието Location дали крайната URL е на желания адрес.

  • Стара URL води ли директно до новата URL?
  • Кодът за пренасочване е ли 301 или 302?
  • Има ли излишна верига от HTTP към HTTPS?
  • Съществуват ли консистенции между www и non-www вариантите?
  • Използва ли се един единствен стандарт за завършек на URL?
  • Виждат ли мобилни и десктоп потребители същата SEO цел?

Често срещани сценарии на пренасочване

Пренасочване на една страница

Пренасочването на една страница е най-простото и най-сигурното начало. Използва се, когато старата ви страница за услуга, страница на кампания или блог пост е прехвърлена на нов адрес. Важно е старата страница да е в съответствие с намерението на съдържанието на новата страница. Например, пренасочването на стара SSL ръководство директно към началната страница може да отслаби потребителското изживяване и да разпределя SEO сигналите. Вместо това е по-добре да пренасочите към новата SSL ръководство или категория страница, която е най-близка до съдържанието.

Пренасочване с масова карта на URL

В проектите по прехвърляне на сайтове може да е необходимо да се пренасочват десетки или дори хиляди URL. Можете да дефинирате обект на карта в Worker, за да направите съвпадение между стара и нова пътека. Например, можете да съпоставите стойността /stari-blog/cloudflare-kakvo-e с /blog/cloudflare-kakvo-e. Този подход е практичен за малки и средни списъци. Обаче, за списъци с 1000 и повече URL, вграждането на дълги списъци в кода усложнява поддръжката. В този случай четенето на картата за пренасочване през Cloudflare KV, R2 или външно API осигурява по-професионална архитектура.

При масово пренасочване подгответе таблица с три колони в Excel или Google Sheets: стара URL, нова URL, статус код. След това се уверете, че същата URL не води до множество цели, че крайната URL дава статус код 200 и че не е блокирана от robots.txt. Най-често срещаната грешка при SEO миграции е пренасочването на стари URL към несвързани страници на новия сайт. Това може да изглежда, че намалява загубата на индексиране в краткосрочен план, но в дългосрочен план може да отслаби качествените сигнали.

Пренасочване по държави

Cloudflare ви позволява да използвате информацията за страната, от която идва искането. Например, можете да пренасочите потребителите, идващи от Турция, към /tr, а тези от Германия към /de. Обаче, от SEO гледна точка, трябва да бъдете внимателни с автоматичните пренасочвания по държави. Googlebot обикновено сканира от определени локации и неправилната конфигурация може да затрудни откритията на различни езикови версии. Затова hreflang таговете, линковете за избор на език и разделението на сайтмап трябва да бъдат правилно организирани.

Извършването на пренасочване по държави с 301 вместо 302 е по-безопасно в повечето случаи. Защото предоставяте временно изживяване на потребителя в зависимост от местоположението му и не твърдите, че страницата е преместена трайно. Освен това е важно да предоставите на потребителя опцията да промени избора на език или държава.

Пренасочване на базата на устройство или User-Agent

Пренасочването на мобилни потребители към различна страница преди беше разпространен подход; обаче, отзивчивият дизайн се счита за по-здравословен днес. Въпреки това, за специални страници за изтегляне на приложения, мобилни потоци на кампании или леки опити за целеви страници, може да се използва пренасочване на базата на потребителския агент. Отново, трябва да бъдете внимателни от SEO гледна точка. Показването на напълно различно съдържание на десктоп и мобилни потребители може да доведе до несъответстващи сигнали.

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

Пренасочване на базата на параметри на запитването за кампании

Пренасочванията с Worker са много полезни за екипите по дигитален маркетинг. Например, можете да пренасочите потребителите, идващи с параметъра utm_campaign=blackfriday, към специална страница на кампания. Тази операция може да бъде разрешена на ръба, без да се налага допълнително разработване на основното приложение. Въпреки това, внимателно следете параметрите на UTM, за да не ги загубите напълно. Ако е необходимо за аналитично измерване, прехвърлете параметрите към новата URL или ги следете правилно в платформата за кампании.

Избор между 301, 302, 307 и 308 от SEO гледна точка

Изборът на код за пренасочване не е просто технически детайл; той описва намерението на пренасочването на страницата на търсачките. 301 е трайно пренасочване и е най-често използваният код при SEO миграции. 302 е временно пренасочване; предпочита се при кампании, тестове, локации или времево ограничени потоци. 307 предлага временно пренасочване, което запазва метода. 308 е трайно пренасочване, подобно на 301, и запазва метода.

Избор между 301, 302, 307 и 308 от SEO гледна точка
КодЗначениеКога да се използва?SEO бележка
301Трайно пренасочванеКогато страницата или домейнът са преместени трайноПодходящо за прехвърляне на SEO сигнали към новата URL
302Временно пренасочванеПри кампании, тестове, разпределение по държави или устройстваНе дава сигнал за трайно прехвърляне
307Временно, запазва методаКогато е необходимо да се запази методът, например POSTОбикновено не е първият избор за SEO прехвърляне на страница
308Трайно, запазва методаВ съвременни API и сценарии за защита на методаМоже да е подходящ, но 301 е по-широко разбираем

Златното правило за SEO е: Използвайте 301 при трайно прехвърлени и ясни нови страници; предпочитайте 302 при временно, персонализирано или условно пренасочване. Освен това, избягвайте вериги от пренасочвания. Ако стара URL първо отива от HTTP към HTTPS, след това от non-www към www, а след това към новата страница, се създава трислойна верига. Идеалната структура е старата URL, която в една стъпка води към крайната HTTPS URL.

Най-добри практики за производителност и сигурност

Най-добри практики за производителност и сигурност

Cloudflare Workers са бързи; обаче, неправилно написаната логика за пренасочване все още може да доведе до забавяне и грешки. Дръжте правилата си прости, не правете регулярни изрази прекалено сложни и не увеличавайте неуправляемо големи списъци в кода. При много големи списъци с пренасочвания, използването на структури за съхранение на ключ-стойност, като KV, е по-подходящо от гледна точка на производителност и поддръжка. Също така, уверете се, че целевият URL не е идентичен на текущия хост и път, за да избегнете безкрайни цикли на грешки.

  • Определете ясна собственост за всяко правило: SEO, софтуер или маркетинг екип.
  • Направете резервно копие на картата на пренасочванията преди промените.
  • Тествайте на staging домейн преди пускане в експлоатация.
  • Преди да вземете решение за 301, уверете се, че новата URL е трайна.
  • След всяко публикуване, ръчно проверявайте 10-20 примерни URL адреса.
  • Следете отчетите за 404 и данните за покритие в Google Search Console.
  • Не оставяйте вътрешни линкове на старата URL; актуализирайте ги на новата URL.

От страна на сигурността, трябва да внимавате за риска от открито пренасочване. Използването на параметри, предоставени от потребителя, като next, redirect или url, директно като цели може да доведе до злоупотреба с вашия доверен домейн от страна на нападатели. Ако ще правите пренасочване на базата на параметри, включете само разрешени домейни в бял списък. Например, само вашите собствени домейни или удостоверени домейни на кампании могат да бъдат цел.

Конфигурацията на SSL също е критична. При използване на Flexible SSL в Cloudflare, ако на основната страна няма HTTPS, могат да възникнат сложни цикли на пренасочване. Най-здравословната структура обикновено е режим на Full или Full strict SSL. За това вашият основен сървър трябва да разполага с валиден SSL сертификат. Решенията за SSL на Hostragons могат да улеснят този процес: закупи SSL сертификат и Сигурност на корпоративния хостинг.

Важни аспекти на инфраструктурата на Hostragons

Когато използвате пренасочване с Cloudflare Workers на сайтове, хоствани в Hostragons, трябва да имате предвид три слоя: DNS на домейна, конфигурация на хостинга и пренасочвания на приложението. Първо, nameserver записите на домейна трябва да са насочени към Cloudflare. След това DNS записите ви трябва да сочат към хостинг сървъра на Hostragons, а записите, за които ще се използва проксито, трябва да бъдат активирани с оранжев облак.

На второ място, уверете се, че домейнът, добавеният домейн или алиасите, определени в контролния панел на хостинга, са правилни. Дори ако пренасочването се извършва на ръба на Cloudflare, някои искания все още ще достигнат основния сървър. Затова, ако на основната страна има неправилен виртуален хост, липсващ SSL или грешна конфигурация на кореновата директория, потребителското изживяване може да бъде засегнато. Можете да намерите полезни материали за съвпаденията между домейна и хостинга в Ръководство за пренасочване на домейн и Управление на хостинг с cPanel.

На трето място, проверете пренасочванията на приложението. WordPress, Laravel, специално PHP приложение или друга CMS може да извършват собствени HTTPS, www или езикови пренасочвания. Ако Cloudflare Worker стартира второ правило по същия въпрос, може да възникне цикъл или верига. Най-добрият подход е да се съберат отговорностите за пренасочване на един слой. Например, всички пренасочвания за домейни и SEO миграции могат да останат в Workers, докато пренасочванията на потребителски сесии в приложението могат да останат на софтуерната страна.

Тестване, наблюдение и отстраняване на грешки

След публикуването на пренасочването, процесът на наблюдение е почти толкова важен, колкото и инсталацията. Проверете най-критичните URL адреси, генериращи приходи, целевите страници и най-посещаваните страници в органичния трафик, както и старите URL адреси, които получават обратни връзки в рамките на първите 24 часа. Наблюдавайте отчетите за индексиране и опит на страницата в Google Search Console. Когато се анализират сървърните логове, анализа на Cloudflare и данните от аналитиката, грешките в пренасочването се откриват много по-бързо.

Често срещаните модели при отстраняване на грешки включват: случайно използване на 302 вместо 301, пренасочване на стара URL към началната страница вместо новата URL, различно поведение при вариации на слешове, чувствителност към главни и малки букви и загуба на параметри на запитването. Особено в сайтове за електронна търговия, SaaS и хостинг, неправилното насочване на страници с цени, продукти, категории и поддръжка може да повлияе пряко на процента на конверсия.

След публикуването, приложете прост контролен списък. Първо, изберете произволни примери от списъка със стари URL. На второ място, тествайте всяка от тях с инструмент за проверка на заглавията. На трето място, уверете се, че крайната страница дава статус код 200. На четвърто място, проверете дали съдържанието на страницата съответства на намерението за търсене на старата страница. На пето място, уверете се, че вътрешните линкове са актуализирани на новите URL. Тези пет стъпки предотвратяват голяма част от технически работещите, но SEO слаби пренасочвания.

Примерна стратегия: Прехвърляне на стари хостинг страници към нова информационна архитектура

Нека помислим за конкретен сценарий. Хостинг компания обновява старата структура на URL и прехвърля страници като /linux-hosting, /wordpress-hosting-paketi, /ssl-bezopasnost и /domain-proverka към по-проста структура. Новите целеви адреси са съответно /web-hosting, /wordpress-hosting, /ssl-sertifikat и /domain-proverka. В този случай се определят четири ясни 301 правила в Worker. След това се актуализират вътрешните менюта, линковете в долния колонтитул, сайтмапа и каноничните тагове на новите URL.

Целта на тази трансформация не е само да насочите потребителя към правилната страница. Също така е важно да покажете на търсачките новите еквиваленти на старите страници. Ако старата страница /linux-hosting насочва към началната страница, Google може да загуби контекста на тази страница. Докато страницата /web-hosting е много по-близо до намерението за продукта. Затова добрата карта на пренасочванията е част от SEO стратегията, а не просто от технически файл.

Често задавани въпроси

Безопасни ли са пренасочванията с Cloudflare Workers за SEO?

Да, когато се използват правилният статус код и правилният целеви URL, те са безопасни. За трайни прехвърляния на страници се изисква да се използва 301, а за временно или условно потоци - 302. Също така, трябва да се избягват вериги от пренасочвания, цикли и грешки с несвързани целеви страници.

Нужен ли е основният сървър за пренасочване с Worker?

Ако пренасочването е напълно завършено на ръба на Cloudflare, то може да върне отговор, без да отива до основния сървър. Въпреки това, тъй като крайната пренасочена страница ще работи на основния или друга инфраструктура, е необходимо конфигурацията на хостинга, DNS и SSL да бъде здравословна.

По-добре ли е да се използват Workers вместо Page Rules на Cloudflare?

За прости няколко пренасочвания, Page Rules или Redirect Rules може да е достатъчно. Но ако е необходимо динамично логика, базирана на пътища, държави, устройства, параметри, множество домейни или карти, Workers предлагат по-гъвкава и мащабируема опция.

Ще бъде ли проблем да промените 301 пренасочването по-късно?

Поради това, че 301 дава траен сигнал, не трябва да се променя често. Браузерите и търсачките могат да кешират 301 резултати. Затова преди публикуване на 301, уверете се, че целевият URL е траен и отговаря на правилното намерение на съдържанието.

Може ли да се направи пренасочване на www и non-www с Cloudflare Workers?

Да. Можете да пренасочите non-www адреси към www версия или обратно, като проверите стойността на хоста. Важно е да се определи един единствен стандарт, да се подготви SSL сертификат, покриващ и двете вариации, и да се актуализират вътрешните линкове на съответния стандарт.

Заключение

Извършването на безсървърни пренасочвания с Cloudflare Workers е мощен метод, който предоставя както производителност, така и оперативна гъвкавост в модерните уеб проекти. При правилния избор на кодове 301 и 302, внимателно подготвена карта на пренасочвания и съвместен контрол на слоевете DNS, SSL и хостинг, можете да управлявате SEO миграциите по-безопасно. Докато за малки проекти простите правила са достатъчни, в големи миграции тестът, наблюдението и документацията стават критични.

Правилното настройване на вашата инфраструктура за домейни, хостинг и SSL в Hostragons може да направи пренасочванията с Cloudflare Workers по-стабилни. Ако имате нужда, можете да разгледате страниците за Пакети за уеб хостинг, проверка на домейн и решения за SSL сертификати, за да планирате подходящата инфраструктура за вашия проект.

Споделете тази статия:

Екипът на Hostragons

Актуални ръководства от нашия експертен екип за хостинг, сървъри и домейн имена. Нека заедно намерим правилното решение за вашия проект.

Свържете се с нас