Π’Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ‚Π΅Π³ <img> Π² HTML-ΠΊΠΎΠ΄, Π½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΡƒΠΏΠΎΡ€Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ вмСсто ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ сломанный Π·Π½Π°Ρ‡ΠΎΠΊ ΠΈΠ»ΠΈ пустоС мСсто? Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π½Π°ΠΊΠΎΠΌΠ° ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ дСсятки β€” ΠΎΡ‚ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π² ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ сСрвСрных ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. Π’ 80% случаСв Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСньшС ΠΌΠΈΠ½ΡƒΡ‚Ρ‹, Ссли Π·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ отобраТаСтся Π² HTML: ΠΎΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ошибок Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Π΄ΠΎ тонкостСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ с CDN ΠΈ CORS. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ список ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ ΠΈ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°, Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ сравнСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΈ Ρ‡Π΅ΠΊ-листами для диагностики. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ случаям, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²ΠΈΠ΄Π½Π° локально, Π½ΠΎ исчСзаСт послС Π·Π°Π»ΠΈΠ²ΠΊΠΈ Π½Π° хостинг β€” это ΠΎΠ΄Π½Π° ΠΈΠ· самых распространённых Β«Π»ΠΎΠ²ΡƒΡˆΠ΅ΠΊΒ» для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

1. Ошибки Π² ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ: Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ vs ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ

Бамая частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° β€” Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ src. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, поэтому вмСсто Π½Π΅Π³ΠΎ отобраТаСтся Π·Π½Π°Ρ‡ΠΎΠΊ сломанного Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° услоТняСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ локально (Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅) ΠΏΡƒΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π° Π½Π° сСрвСрС β€” Π½Π΅Ρ‚.

Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΡƒΡ‚Π΅ΠΉ:

  • πŸ“Œ ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ β€” ΠΏΠΎΠ»Π½Ρ‹ΠΉ URL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: src="https://example.com/images/photo.jpg". Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π΅Π·Π΄Π΅, Π½ΠΎ ΠΏΡ€ΠΈ смСнС Π΄ΠΎΠΌΠ΅Π½Π° потрСбуСтся ΠΏΡ€Π°Π²ΠΊΠ°.
  • πŸ“Œ ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ β€” указываСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ страницы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: src="images/photo.jpg" ΠΈΠ»ΠΈ src="../images/photo.jpg" (ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅).

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки:

  • 🚫 ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ (рСгистр ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅! Photo.jpg β‰  photo.jpg).
  • 🚫 ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ слСш Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡƒΡ‚ΠΈ: src="images/photo.jpg" vs src="/images/photo.jpg" (Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ корня сайта).
  • 🚫 ИспользованиС ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ Π² ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° _ ΠΈΠ»ΠΈ -).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ тСстируСтС сайт локально Ρ‡Π΅Ρ€Π΅Π· file://, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ Π½Π° сСрвСрС. ВсСгда провСряйтС сайт Ρ‡Π΅Ρ€Π΅Π· Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, XAMPP ΠΈΠ»ΠΈ Live Server Π² VS Code).

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

2. НСподдСрТиваСмый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ изобраТСния

НС всС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Π²Π΅Π±Π΅. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ основныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ β€” JPEG, PNG, GIF, WebP ΠΈ SVG, Π½ΠΎ Π΄Π°ΠΆΠ΅ здСсь Π΅ΡΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹. НапримСр, WebP Π½Π΅ поддСрТиваСтся Π² Safari Π΄ΠΎ вСрсии 14, Π° AVIF β€” Π²ΠΎΠΎΠ±Ρ‰Π΅ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ€Π΅Π΄ΠΊΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, TIFF ΠΈΠ»ΠΈ PSD), Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ просто ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ. Π’ΠΎ ΠΆΠ΅ самоС ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚, Ссли Ρ„Π°ΠΉΠ» ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½ ΠΈΠ»ΠΈ сохранён с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, image.jpg, Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ β€” PNG).

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠœΠΈΠ½ΡƒΡΡ‹
JPEG ВсС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π€ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Ρ‹ АртСфакты ΠΏΡ€ΠΈ сТатии, Π½Π΅Ρ‚ прозрачности
PNG ВсС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π›ΠΎΠ³ΠΎΡ‚ΠΈΠΏΡ‹, ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ вСс ΠΏΡ€ΠΈ высоком качСствС
WebP ВсС, ΠΊΡ€ΠΎΠΌΠ΅ старых Safari Π›ΡŽΠ±Ρ‹Π΅ изобраТСния (Π»ΡƒΡ‡ΡˆΠ΅ JPEG ΠΈ PNG) Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²
SVG ВсС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ВСкторная Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (Π»ΠΎΠ³ΠΎ, ΠΈΠΊΠΎΠ½ΠΊΠΈ) НС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ошибка: Ссли Π²Ρ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² WebP Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ½Π»Π°ΠΉΠ½-сСрвисы, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΎΡΡŒ Π»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ старого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, image.jpg.webp). Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ».

πŸ“Š Какой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
  • JPEG
  • PNG
  • WebP
  • SVG
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ

3. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа (CHMOD) Π½Π° сСрвСрС

Если ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π²Π΅Ρ€Π½Ρ‹ΠΉ, Π½ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ грузится, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²Π° доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π½Π° сСрвСрС. На Linux-хостингС (Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ shared-хостингов) Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° 644, Π° ΠΏΠ°ΠΏΠΊΠΈ β€” 755. Если ΠΏΡ€Π°Π²Π° установлСны ΠΊΠ°ΠΊ 600 ΠΈΠ»ΠΈ 400, сСрвСр Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ:

  • πŸ”§ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΊ сСрвСру ΠΏΠΎ FTP (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· FileZilla).
  • πŸ”§ НайдитС Ρ„Π°ΠΉΠ» изобраТСния, Ρ‰Ρ‘Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ β†’ File permissions.
  • πŸ”§ УстановитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 644 для Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ 755 для ΠΏΠ°ΠΏΠΊΠΈ.
  • πŸ”§ ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ измСнСния ΠΊΠΎ всСм Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ (опция Recurse into subdirectories).

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ SSH, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

chmod 644 /ΠΏΡƒΡ‚ΡŒ/ΠΊ/Ρ„Π°ΠΉΠ»Ρƒ/ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.jpg
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хостингах (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Hostinger ΠΈΠ»ΠΈ Beget) ΠΏΡ€Π°Π²Π° 777 ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ сообраТСниям бСзопасности. НС устанавливайтС ΠΈΡ… Π±Π΅Π· нСобходимости!

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈ доступ Ρ„Π°ΠΉΠ» .htaccess. Иногда Π² Π½Ρ‘ΠΌ прописаны ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ доступ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ². НапримСр:

<FilesMatch "\.(jpg|png|gif)$">

Order Allow,Deny

Deny from all

</FilesMatch>

4. Кэш Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ сСрвСра: ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½Π΅ обновляСтся

Π’Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ отобраТаСтся старая вСрсия? Π’ΠΈΠ½ΠΎΠ²Π°Ρ‚ кэш β€” Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ускоряСт Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ страниц. ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, ΠΈ сСрвСр (Ρ‡Π΅Ρ€Π΅Π· .htaccess ΠΈΠ»ΠΈ CDN).

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ кэш:

  • 🌐 Π’ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅: Ctrl + F5 (ТёсткоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅) ΠΈΠ»ΠΈ очистка кэша Π² настройках.
  • 🌐 На сСрвСрС: Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Cloudflare ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ CDN, очиститС кэш Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния.
  • 🌐 Π’ .htaccess: Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ кэша ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ):

<FilesMatch "\.(jpg|png|gif|webp)$">

Header set Cache-Control "no-cache, no-store, must-revalidate"

</FilesMatch>

Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, скорСС всСго, Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚ CDN. НапримСр, Cloudflare ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния Π½Π° 24 часа. Π’ этом случаС:

  1. Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² панСль Cloudflare β†’ Caching β†’ Configuration.
  2. НайдитС Ρ€Π°Π·Π΄Π΅Π» Browser Cache TTL ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 2 часов.
  3. ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚Π΅ кэш Ρ‡Π΅Ρ€Π΅Π· Caching β†’ Purge Cache.
πŸ’‘

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ URL изобраТСния случайный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ?v=2), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΌΠ°Π½ΡƒΡ‚ΡŒ кэш: src="image.jpg?v=2". Π­Ρ‚ΠΎ заставит Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ.

5. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с CORS: Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²

Если ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ хранится Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ с Google Drive ΠΈΠ»ΠΈ стороннСго хостинга), Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ·-Π·Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ CORS (Cross-Origin Resource Sharing). Π­Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ бСзопасности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ рСсурсы с Ρ‡ΡƒΠΆΠΈΡ… сайтов Π±Π΅Π· Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  • 🚨 Π’ консоли Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (F12 β†’ Console) ошибка: CORS policy: No 'Access-Control-Allow-Origin' header.
  • 🚨 ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½Π΅ грузится, Π½ΠΎ Ссли ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Ρ‘ URL Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ β€” открываСтся.

РСшСния:

  • πŸ”„ Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° свой сСрвСр (Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚).
  • πŸ”„ Если ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с Google Drive, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΡΠΌΡƒΡŽ ссылку (Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ uc?id= Π½Π° uc?export=view&id=).
  • πŸ”„ НастройтС Access-Control-Allow-Origin Π½Π° сСрвСрС, Π³Π΄Π΅ хранится ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ доступ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ настройки CORS для Nginx:

location ~* \.(jpg|png|gif|webp)$ {

add_header 'Access-Control-Allow-Origin' '*';

}

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НСкоторыС хостинги (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Imgur ΠΈΠ»ΠΈ Flickr) ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π³ΠΎΡ€ΡΡ‡ΡƒΡŽ ссылку (hotlinking) Π½Π° изобраТСния. Π’ этом случаС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° с вашСго сайта Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прямая ссылка.

6. Ошибки Π² HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅: Ρ‚Π΅Π³ <img> ΠΈ Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹

Иногда ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π½Π΅ Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Π° Π² самом Ρ‚Π΅Π³Π΅ <img>. РаспространённыС ошибки:

  • πŸ› οΈ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ слСш: <img> вмСсто <img /> (Π² HTML5 это Π½Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΠ²Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ).
  • πŸ› οΈ НСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° alt (обязатСлСн для валидности ΠΈ SEO).
  • πŸ› οΈ НСкоррСктныС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ width ΠΈ height (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² px, Π½ΠΎ Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния).
  • πŸ› οΈ ИспользованиС srcset Π±Π΅Π· sizes (ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΎΠΌΠ°Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Ρ‚ΠΈΠ½Π°-экранах).

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

<img

src="images/photo.webp"

srcset="images/photo@2x.webp 2x"

alt="ОписаниС изобраТСния для SEO"

width="800"

height="600"

loading="lazy"

/>

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ loading="lazy". Он ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²ΠΈΠ΄Π½Ρ‹ Π½Π° экранС, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ с JavaScript-слайдСрами ΠΈΠ»ΠΈ галСрСями. Π’ этом случаС ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ lozad.js для Π»Π΅Π½ΠΈΠ²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ отобраТаСтся Π² email-рассылкС?

Π’ email-рассылках Ρ‚Π΅Π³ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ½Π°Ρ‡Π΅: всСгда ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ (http:// ΠΈΠ»ΠΈ https://), добавляйтС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ width ΠΈ height, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ сСрвисы (Gmail, Outlook) ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ грузят ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ β€” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

7. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с хостингом: ограничСния ΠΈ ошибки сСрвСра

Если всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π° сторонС хостинга:

  • πŸ“‰ ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ Π»ΠΈΠΌΠΈΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈΠ»ΠΈ мСста Π½Π° дискС.
  • πŸ“‰ Π‘Π΅Ρ€Π²Π΅Ρ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ 500 ΠΈΠ»ΠΈ 403 ΠΏΡ€ΠΈ запросС изобраТСния.
  • πŸ“‰ На сСрвСрС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° mod_expires ΠΈΠ»ΠΈ mod_headers (Π½ΡƒΠΆΠ½Ρ‹ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ CORS ΠΈ кэша).
  • πŸ“‰ Π₯остинг Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SVG ΠΈΠ·-Π·Π° уязвимостСй).

Как Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ DevTools β†’ Network ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ страницу.
  2. НайдитС запрос ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ статус ΠΎΡ‚Π²Π΅Ρ‚Π° (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ 200 OK).
  3. Если статус 403 Forbidden β€” ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΈΠ»ΠΈ .htaccess.
  4. Если статус 500 Internal Server Error β€” ошибка Π½Π° сСрвСрС (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π»ΠΎΠ³ΠΈ хостинга).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π»ΠΎΠ³Π° ошибок Apache, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ:

[Wed Jun 05 14:23:45.123456 2026] [:error] [pid 12345] [client 192.168.1.1:12345] File does not exist: /home/user/public_html/wrong/path/image.jpg
πŸ’‘

Если хостинг Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ 500 ΠΏΡ€ΠΈ запросС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» .htaccess Π½Π° синтаксичСскиС ошибки ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Ρ‹).

8. ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ с CSS ΠΈ JavaScript

Иногда ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ загруТаСтся, Π½ΠΎ Π½Π΅ отобраТаСтся ΠΈΠ·-Π·Π° стилСй ΠΈΠ»ΠΈ скриптов:

  • 🎨 display: none ΠΈΠ»ΠΈ visibility: hidden Π² CSS.
  • 🎨 opacity: 0 ΠΈΠ»ΠΈ filter: blur(100px).
  • πŸ€– JavaScript-ошибка, которая ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² слайдСрС).
  • πŸ€– ДинамичСская ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· JS, которая Π½Π΅ сработала.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ DevTools β†’ Elements ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Ρ‚Π΅Π³ <img>.
  2. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, Π½Π΅ Π·Π°Ρ‡Ρ‘Ρ€ΠΊΠ½ΡƒΡ‚Ρ‹ Π»ΠΈ стили (Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹).
  3. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ JavaScript Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ β€” Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ появилось, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² скриптах.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со стилями:

img {

display: none !important; /* Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ, Π½ΠΎ скрыто */

}

Если ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ подгруТаСтся Ρ‡Π΅Ρ€Π΅Π· JavaScript (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π³Π°Π»Π΅Ρ€Π΅Π΅ Fancybox), ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ консоль Π½Π° ошибки. Випичная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ сСлСктор ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΏΡƒΡ‚ΠΈ:

// Ошибка: ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² классС

document.querySelector('.galery-img').src = 'images/photo.jpg';

// ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ:

document.querySelector('.gallery-img').src = 'images/photo.jpg';

FAQ: ЧастыС вопросы ΠΏΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² HTML

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π½ΠΎ локально, Π½ΠΎ Π½Π΅ Π½Π° хостингС?

Π­Ρ‚ΠΎ классичСская ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с путями. Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, src="images/photo.jpg"), Π° Π½Π° сСрвСрС структура ΠΏΠ°ΠΏΠΎΠΊ другая. РСшСния:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΎΡ‚ корня сайта: src="/images/photo.jpg".
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ рСгистр символов Π² названиях Ρ„Π°ΠΉΠ»ΠΎΠ² (Π½Π° Linux-хостингС Photo.jpg β‰  photo.jpg).
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π½Π° сСрвСр (ΠΈΠ½ΠΎΠ³Π΄Π° FTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Β«Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚Β» Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ).
Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, загруТаСтся Π»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ссли Π΅Π³ΠΎ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ?

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ DevTools (F12) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Network:

  1. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ страницу.
  2. Π’ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ img ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°.
  3. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ статус запроса:
    • 200 OK β€” Ρ„Π°ΠΉΠ» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ (ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ).
    • 404 Not Found β€” Ρ„Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ (Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ).
    • 403 Forbidden β€” Π½Π΅Ρ‚ ΠΏΡ€Π°Π² доступа.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния с Google Drive Π² HTML?

ВСхничСски Π΄Π°, Π½ΠΎ с ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ:

  • Бсылка Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ прямой (Π½Π΅ для просмотра). Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ uc?id= Π½Π° uc?export=view&id=.
  • Google ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ горячиС ссылки, Ссли Ρ‚Ρ€Π°Ρ„ΠΈΠΊ высокий.
  • Π›ΡƒΡ‡ΡˆΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Π½Π° свой хостинг β€” это Π½Π°Π΄Ρ‘ΠΆΠ½Π΅Π΅ ΠΈ быстрСС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ссылки:

<img src="https://drive.google.com/uc?export=view&id=YOUR_FILE_ID" alt="Google Drive Image">

ΠŸΠΎΡ‡Π΅ΠΌΡƒ SVG Π½Π΅ отобраТаСтся Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…?

SVG поддСрТиваСтся всСми соврСмСнными Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, Π½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΈΠ·-Π·Π°:

  • НСкоррСктного синтаксиса Π²Π½ΡƒΡ‚Ρ€ΠΈ .svg-Ρ„Π°ΠΉΠ»Π° (ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅).
  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΡ XML-ΠΏΡ€ΠΎΠ»ΠΎΠ³Π°: <?xml version="1.0" encoding="UTF-8"?>.
  • ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° с .htaccess (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хостинги Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ SVG ΠΈΠ·-Π·Π° уязвимостСй).

РСшСниС: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» Ρ‡Π΅Ρ€Π΅Π· Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ W3C Validator.

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° сайтС?

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π° для скорости сайта. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

  • πŸ”₯ ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π² WebP (сТатиС Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Ρƒ JPEG/PNG).
  • πŸ”₯ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ srcset для Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:
    <img src="photo-480w.jpg"
    

    srcset="photo-800w.jpg 800w, photo-480w.jpg 480w"

    sizes="(max-width: 600px) 480px, 800px">

  • πŸ”₯ Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π»Π΅Π½ΠΈΠ²ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ: <img loading="lazy">.
  • πŸ”₯ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹: Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 5000Γ—3000 px, Ссли Π½Π° сайтС ΠΎΠ½ΠΎ отобраТаСтся ΠΊΠ°ΠΊ 800Γ—480 px.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: TinyPNG, ImageOptim, Squoosh (ΠΎΡ‚ Google).