ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ΅Π³ <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"vssrc="/images/photo.jpg"(Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΡΡ ΠΎΡ ΠΊΠΎΡΠ½Ρ ΡΠ°ΠΉΡΠ°). - π« ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² (Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°
_ΠΈΠ»ΠΈ-).
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ°ΠΉΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· file://, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ½Π°ΡΠ΅, ΡΠ΅ΠΌ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΡΠ°ΠΉΡ ΡΠ΅ΡΠ΅Π· Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, XAMPP ΠΈΠ»ΠΈ Live Server Π² VS Code).
βοΈ ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΡΠΈ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
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 ΡΠ°ΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅:
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°Π½Π΅Π»Ρ Cloudflare β
Caching β Configuration. - ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π»
Browser Cache TTLΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ2 ΡΠ°ΡΠΎΠ². - ΠΡΠΈΡΡΠΈΡΠ΅ ΠΊΡΡ ΡΠ΅ΡΠ΅Π·
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 ΠΈΠ·-Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ).
ΠΠ°ΠΊ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅
DevTools β NetworkΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ. - ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠ°ΡΡΡ ΠΎΡΠ²Π΅ΡΠ° (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ
200 OK). - ΠΡΠ»ΠΈ ΡΡΠ°ΡΡΡ
403 Forbiddenβ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΠΈΠ»ΠΈ.htaccess. - ΠΡΠ»ΠΈ ΡΡΠ°ΡΡΡ
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, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»Π°.
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅
DevTools β ElementsΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅Π³<img>. - ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, Π½Π΅ Π·Π°ΡΡΡΠΊΠ½ΡΡΡ Π»ΠΈ ΡΡΠΈΠ»ΠΈ (Π·Π½Π°ΡΠΈΡ, ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ).
- ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ 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:
- ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ.
- Π ΡΠΈΠ»ΡΡΡΠ΅ Π²Π²Π΅Π΄ΠΈΡΠ΅
imgΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°. - ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΠ°ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°:
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).