Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

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

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

www, пренасочване и смесено съдържание

Модул 3: Адрес, https и потребители · Време за четене: 9 минути

Учебна цел: След този урок ще можете да изберете един основен адрес, да пренасочите всички варианти към него с едно пренасочване и да откривате и отстранявате смесено съдържание (mixed content).

Ключови понятия: каноничен адрес, 301 и 308, верига от пренасочвания, смесено съдържание (mixed content), търсене и замяна в базата данни, сериализирани данни

Четири адреса, един уебсайт

Вашият уебсайт е достъпен на четири адреса:

http://example.com
http://www.example.com
https://example.com
https://www.example.com

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

Кой адрес ще изберете, е въпрос на вкус (урок 2.1). Важното е основният адрес да е един и същ навсякъде: в DNS, в сертификата, в Настройки > Общи (урок 3.1) и в пренасочванията.

Пренасочване с 301, с една стъпка

Пренасочването е отговор на сървъра: „тази страница се намира другаде“. Тогава браузърът сам отива на новия адрес. Кодът показва какъв вид пренасочване е:

КодЗначениеУпотреба
301Преместено за постоянноСтандартният избор за http към https и за www към домейна без www (или обратното)
308За постоянно, като методът (например изпращане на формуляр) остава същиятМоже да се използва и за тази цел; браузърите и търсачките го третират като 301
302 или 307ВременноСамо за нещо наистина временно, например страница за поддръжка

Постоянното пренасочване казва на търсачките, че новият адрес е истинският. При временно пренасочване те продължават да помнят стария адрес.

Обърнете внимание и на веригата. Да кажем, че основният Ви адрес е https://example.com. Тогава искате:

http://www.example.com   301  https://example.com/
http://example.com       301  https://example.com/
https://www.example.com  301  https://example.com/
https://example.com      200

Всеки вариант стига до основния адрес с една стъпка. Често се случва следното:

http://www.example.com   301  https://www.example.com/
https://www.example.com  301  https://example.com/

Това работи, но струва една допълнителна стъпка (допълнително чакане, особено на мобилни устройства) и едно допълнително TLS ръкостискане. По-лошо е затвореният кръг: уеб сървърът пренасочва към https, WordPress пренасочва обратно към http, защото адресите в настройките все още са с http, и браузърът съобщава „твърде много пренасочвания“. Тогава две настройки работят една срещу друга. Погрижете се само една страна да пренасочва към https (уеб сървърът или контролният панел) и адресите в WordPress вече да сочат към основния адрес.

WordPress също пренасочва сам: ако някой поиска https://www.example.com/contact/, докато адресът на сайта е https://example.com, WordPress пренасочва към https://example.com/contact/. Това работи само ако заявката стигне до WordPress, т.е. ако уеб сървърът насочва и името www към този уебсайт.

Смесено съдържание

Смесено съдържание (mixed content) е https страница, която зарежда елементи през http://: изображение, stylesheet, скрипт, шрифт или вградено видео. Браузърът смята това за опасно, защото тези елементи могат да бъдат променени по пътя.

  • Скриптове, stylesheets и iframes през http се блокират от браузърите. Тогава уебсайтът Ви изглежда счупен или някоя функция не работи.
  • Изображения, аудио и видео през http модерните браузъри се опитват автоматично да заредят през https; ако това не стане, те се блокират. Тогава катинарчето може да покаже предупреждение.

Откъде идва то:

  1. Стари връзки в съдържанието Ви: уебсайт, който преди е работел с http, има в хиляди публикации <img src="http://example.com/wp-content/uploads/...">. WordPress записва тези връзки буквално в базата данни.
  2. Настройки на темата или разширенията с пълен адрес, например лого или фон с http://.
  3. Външни елементи от друг уебсайт, които са достъпни само през http. Тях трябва да замените или премахнете.
  4. Адреси в Настройки > Общи, които все още са с http (урок 3.1).

Как да го откриете

Отворете страницата, натиснете F12 и погледнете раздела Console. Браузърът съобщава за всяко смесено съдържание с адреса на елемента. Или потърсете в изходния код на страницата (Ctrl+U) за src="http:// и href="http://. Обикновените връзки в текста към други уебсайтове (<a href="http://...">) не са смесено съдържание; става дума за неща, които страницата зарежда.

Търсене и замяна, но правилно

Решението за старите връзки в съдържанието Ви е да замените всички http://example.com в базата данни с https://example.com. Изкушението е да използвате SQL заявка като:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://example.com', 'https://example.com');

Не правете това. Много настройки на теми, разширения и уиджети се записват сериализирани. Това изглежда така:

s:27:"http://example.com/logo.png";

s:27 означава: тук следва текст от 27 знака. След обикновена замяна текстът е 28 знака (добавя се едно s), но пише все още 27. Тогава PHP вече не може да прочете стойността и настройката тихо изчезва: празно меню, изчезнало лого, липсващи уиджети.

Използвайте инструмент, който обновява тези дължини, и винаги първо направете резервно копие (урок 8.1): търсенето и замяната нямат кошче.

  • WP-CLI: първо проверете, после действайте. В терминала отидете в папката на Вашия WordPress и първо изпълнете пробния вариант (първия ред), едва след това истинския (втория ред).
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid

С --dry-run виждате колко замени биха се направили във всяка таблица, без да се променя нищо. --skip-columns=guid оставя непокътнати постоянните идентификатори на публикациите (колоната guid); WordPress препоръчва те никога да не се променят. Без допълнителна опция WP-CLI работи само с таблиците на WordPress. Ако някое разширение има собствени таблици със същия префикс, добавете --all-tables-with-prefix. Използвайте --all-tables само ако знаете защо: тази опция засяга всяка таблица в базата данни, включително тези на друг уебсайт или приложение.

  • Разширение за търсене и замяна, което поддържа сериализирани данни (в директорията с разширения на wordpress.org има няколко). И там първо използвайте пробния режим, а след това отново премахнете разширението.

Никога не заменяйте нещо като example.com без http:// или https:// пред него: така ще засегнете и имейл адреси и други текстове. Целият начин на работа, включително за хора без терминал, е описан в статията от базата знания за търсене и замяна в базата данни на WordPress (вижте Допълнително четене).

На практика: как изглежда това в контролен панел

Като пример използваме DirectAdmin. Други панели имат подобен превключвател за „винаги https“.

  1. В настройките на домейна включете Force SSL with https redirect (урок 3.1).
  2. Изберете при домейна дали www да води към домейна без www, или обратното (в DirectAdmin това е в настройките на домейна; иначе с пренасочване чрез Site Redirects или .htaccess).
  3. Проверете веригата със задачата по-долу или с инструментите за разработчици на браузъра си (раздел Мрежа, отметката „Preserve log“).

Обобщение

  • Изберете един каноничен адрес и пренасочете другите три варианта към него с 301 (или 308), с една стъпка.
  • Оставете само една страна да пренасочва към https; иначе се получава затворен кръг.
  • Смесеното съдържание е https страница, която зарежда елементи през http; конзолата на браузъра показва кои.
  • Старите връзки в базата данни заменяте с wp search-replace или с разширение, което разбира сериализирани данни, никога с обикновен SQL REPLACE.
  • Винаги първо резервно копие и първо пробен вариант (--dry-run); не пипайте колоната guid и се ограничете до таблиците на WordPress.

Тест (quiz)

1. Кое пренасочване използвате, за да пренасочите http към https за постоянно?



2. След включване на „винаги https“ браузърът съобщава „твърде много пренасочвания“. Коя е най-вероятната причина?



3. Защо UPDATE ... REPLACE(...) в SQL е опасно при смяна на адреси?



4. Кой елемент на https страница браузърът винаги блокира, ако се зарежда през http?



Задача

Задача A3.2: Един основен адрес и без смесено съдържание. Въведете своя домейн. Програмата отваря четирите варианта (http и https, с и без www) и проследява пренасочванията. Правилно е: и четирите стигат до един и същ адрес с https, с най-много едно пренасочване за всеки вариант и само с постоянни кодове (301 или 308). След това програмата прочита HTML кода на началната страница и търси скриптове, stylesheets, изображения, iframes и шрифтове, които се зареждат през http://.

Задача A3.2: Един основен адрес и без смесено съдържание


Това, което въвеждате, и резултатите от проверката не се съхраняват. Браузърът Ви запомня отговорите и дали сте изпълнили задачата. Ако сте влезли, запазваме само дали задачата е била (почти) правилна в Моите курсове; и там можете да го изтриете.

Допълнително четене

Тези статии описват стъпките в контролните панели на WebOké; в други панели те работят по подобен начин.

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…