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

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

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

Необходими

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

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

Кои бисквитки?
  • 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 минути

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

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

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

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

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

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

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

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

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

КодЗначениеПриложение
301Преместено за постоянноПостоянният избор за http към https и за 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://: изображение, стилов лист, скрипт, шрифт или вградено видео. Браузърът счита това за несигурно, защото тези елементи могат да бъдат променени по пътя.

  • Скриптове, стилови листове и iframe-ове през 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 вече не може да прочете стойността и настройката изчезва безследно: празно меню, изчезнало лого, липсващи уиджети.

Използвайте инструмент, който актуализира тези дължини:

  • WP-CLI: първо проверете, после изпълнете.
wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run
wp search-replace 'http://example.com' 'https://example.com' --all-tables

С --dry-run виждате колко замени биха се извършили във всяка таблица, без да се прави реална промяна.

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

Винаги първо направете резервно копие (урок 8.1). Никога не заменяйте нещо като example.com без http:// пред него: иначе ще засегнете и имейл адреси, и други текстове.

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

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

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

Обобщение

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

Тест (quiz)

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



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



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



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



Задача

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

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


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

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

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

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

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

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

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