Вэбсайт шилжүүлэлт болон URL бүтцийн өөрчлөлтөд дамжуулах дүрмийг ашиглах нь
Вэбсайтыг шинэ домэйн руу шилжүүлэх, URL-ийн бүтцийг өөрчлөх эсвэл хуучин контентуудыг цэвэрлэх үед хуучин хаягуудыг шинэ хаяг руу зөв чиглүүлэх нь чухал байдаг [Source 2]. Энэхүү үйл явц нь хэрэглэгчдийг алдаатай хуудас руу орохоос сэргийлээд зогсохгүй, хайлтын системийн оновчлол буюу SEO-ийн үнэлгээг хадгалж үлдэхэд шийдвэрлэх үүрэг гүйцэтгэдэг [Source 2]. Вэбмастер болон хөгжүүлэгчид олон тооны URL холболтыг гар аргаар тохируулахын оронд бэлэн CSV файлаас серверт зориулсан дүрмүүдийг автоматаар үүсгэх боломжтой [Source 2].
Дамжуулалтыг хийхдээ зорилгоосоо хамааран дараах хоёр үндсэн төлөвийн кодыг ашигладаг:
- 301 Байнгын (Permanent) (Байнгын): Хуудас эсвэл вэбсайт бүрмөсөн шинэ хаяг руу шилжсэнийг илтгэнэ. Хайлтын системүүд хуучин URL-ийн SEO үнэлгээг шинэ URL руу шилжүүлдэг.
- 302 Түр зуурын (Temporary) (Түр зуурын): Хуудас түр хугацаагаар өөр хаяг руу шилжсэнийг заана. Энэ тохиолдолд хайлтын системүүд хуучин URL-ийг индексжүүлсэн хэвээр үлдээдэг.
Эдгээр дүрмийг вэб серверийн орчин бүрд тохируулан зөв синтаксаар бичих шаардлагатай бөгөөд "Дамжуулах дүрмийн үүсгэгч" нь Nginx, Apache болон Vercel орчинд зориулсан кодыг шууд бэлтгэж өгдөг.
Оруулах CSV файлын бүтэц ба хязгаарлалтууд
Дамжуулах дүрмүүдийг үүсгэхийн тулд эх сурвалж болон очих хаягийн мэдээллийг агуулсан CSV файлыг бэлтгэх шаардлагатай. Файлын бүтэц нь дараах шаардлагыг хангасан байна:
- Толгой мөр (Header): CSV файлын хамгийн эхний мөрөнд
sourceболонtarget(эсвэлdestination) гэсэн баганын нэрс заавал байх ёстой. Хэрэв эдгээр багана байхгүй бол системТолгой мөрөнд source болон target (эсвэл destination) баганууд байх шаардлагатай.гэсэн алдааг заана. - Эх сурвалж URL (Source): Энэ нь дамжуулах хуучин хаяг юм. Бүтэн HTTP эсвэл HTTPS URL, эсвэл
/тэмдэгтээр эхэлсэн замыг ашиглаж болно. Эх сурвалжийн хост нэрийг систем автоматаар хасдаг. - Зорилтот URL (Destination/Target): Энэ нь хэрэглэгчийг чиглүүлж хүргэх шинэ хаяг юм. Бүтэн HTTP эсвэл HTTPS URL, эсвэл үндэс рүү чиглэсэн замыг ашиглаж болно.
Техникийн хязгаарлалт ба дүрмүүд:
- Файлын хэмжээ: CSV файлын хэмжээ 5 MB-аас бага байх ёстой [Source 2]. Хэрэв хэтэрвэл
Энэ CSV файл хэтэрхий том байна. {max}-аас бага хэмжээтэй файл сонгоно уу.гэсэн алдаа гарна. - Холболтын тоо: Нэг удаад хамгийн ихдээ 2,000 хүртэлх холболтыг боловсруулах боломжтой. Хязгаар хэтэрсэн тохиолдолд
Энэ хэрэгсэл нь нэг удаад хамгийн ихдээ {max} холболтыг зөвшөөрдөг.гэж анхааруулна. - Тэмдэгтийн урт: Аль ч URL-ийн урт 2,048 тэмдэгтээс хэтрэхгүй байх ёстой. Хэтэрсэн тохиолдолд
{line}-р мөрний URL нь 2,048 тэмдэгтээс урт байна.гэсэн алдааг харуулна. - Давхардал: Эх сурвалжийн зам бүр зөвхөн нэг удаа орох ёстой бөгөөд давхардвал
{line}-р мөр нь эх сурвалжийн зам {source}-ийг давтаж байна. Эх сурвалж бүр зөвхөн нэг удаа орно.гэж мэдээлнэ.
Серверийн орчны синтакс ба онцлогууд
Энэхүү хэрэгсэл нь сонгосон вэб орчноос хамааран өөр өөр синтакс бүхий дүрмүүдийг үүсгэдэг. Үүсгэсэн дүрмүүд нь яг таг таарах (exact match) зарчмаар ажилладаг.
Nginx
Nginx орчны хувьд үүсгэсэн гаралт нь яг таг эх сурвалжийн замд бэхлэгддэг. Эх сурвалжийн замын эхлэл болон төгсгөлийг тэмдэгтээр хязгаарлаж, зөвхөн тухайн заасан хаяг орж ирэхэд дамжуулалт хийгдэхээр тохируулагддаг.
Apache
Apache серверийн хувьд .htaccess файлд шууд хуулж ашиглах боломжтой Redirect эсвэл RewriteRule заавруудыг үүсгэдэг. Гаралт нь мөн адил яг таг эх сурвалжийн замд бэхлэгдсэн байдаг.
Vercel
Vercel платформд зориулсан гаралт нь vercel.json файлд ашиглах JSON форматаар үүсдэг. Vercel-ийн стандарт тохиргооны permanent шилжүүлэгч нь 308 кодыг, харин temporary шилжүүлэгч нь 307 кодыг үүсгэдэг онцлогтой. Сонгосон 301 эсвэл 302 статусыг яг таг хадгалахын тулд үүсгэгч нь гаралтад statusCode параметрийг ашигладаг.
Алдааг олж засварлах заавар
CSV файлыг унших болон дүрмийг үүсгэх явцад дараах алдаанууд гарч болзошгүй бөгөөд тэдгээрийг засах зааварчилгааг доор харуулав:
CSV файлыг {line}-р мөрний орчимд уншиж чадсангүй. Хашилт болон таслалуудыг шалгана уу.: CSV файлын формат алдагдсан, таслал дутуу эсвэл хашилтыг буруу хаасан байна.{line}-р мөрөнд эх сурвалж болон зорилтот хаяг хоёулаа байх шаардлагатай.: Тухайн мөрөнд аль нэг хаяг нь хоосон орхигдсон байна.{line}-р мөрөнд хүчингүй эх сурвалж байна. HTTP(S) URL эсвэл /-оор эхэлсэн зам ашиглана уу.: Эх сурвалжийн хаяг нь зөв форматтай бичигдээгүй байна.{line}-р мөрний эх сурвалжид асуулгын тэмдэгт эсвэл фрагмент байна. Зөвхөн эх сурвалжийн замыг ашиглана уу.: Эх сурвалжийн URL-д?(query string) эсвэл#(fragment) тэмдэгт орсон байна. Эдгээрийг хасаж зөвхөн замыг үлдээнэ үү.{line}-р мөрөнд орлуулагч тэмдэгт эсвэл замын хэв маяг ашигласан байна. Энэ үүсгэгч нь зөвхөн яг таг таарах эх сурвалжийн замыг зөвшөөрдөг.: Эх сурвалжийн хаягт*зэрэг орлуулагч тэмдэгт ашигласан байна. Зөвхөн яг таг таарах замыг оруулна уу.
Нууцлал ба өгөгдөл боловсруулалт
Таны оруулсан CSV файл болон үүсгэсэн дүрмүүд хөтөч дээр тань үлдэнэ. BroBroGo руу юу ч илгээгдэхгүй. Бүх боловсруулалт хэрэглэгчийн төхөөрөмж дээр локал байдлаар хийгддэг тул таны өгөгдөл гадны сервер рүү дамжихгүй.
Түгээмэл асуулт хариулт
CSV файлыг хэрхэн форматлах вэ?
Эх сурвалж (source) болон зорилтот (target эсвэл destination) баганууд бүхий толгой мөрийг ашиглана уу. Дараагийн мөр бүрт бүтэн HTTP/HTTPS эх сурвалжийн URL эсвэл /-оор эхэлсэн зам, мөн бүтэн эсвэл үндэс рүү чиглэсэн зорилтот хаягийг ашиглаж болно.
Үүсгэсэн дамжуулалтууд нь яг таг таарах (exact match) уу?
Тийм. Nginx болон Apache-ийн гаралт нь яг таг эх сурвалжийн замд бэхлэгддэг бөгөөд Vercel нь ижил замын утгыг хүлээн авдаг. Эх сурвалжийн хост нэрийг хасна; эх сурвалжийн асуулгын тэмдэгтүүд, фрагментууд болон орлуулагч тэмдэгт бүхий хэв маягаас татгалздаг, учир нь эдгээр гурван орчин тэдгээрийг өөр өөрөөр боловсруулдаг.
Vercel-ийн гаралт яагаад statusCode ашигладаг вэ?
Vercel-ийн байнгын шилжилт нь 308, түр зуурынх нь 307-г үүсгэдэг. statusCode ашиглагддаг тул таны сонголт яг 301 эсвэл 302 хэвээр үлдэнэ. Стандарт Vercel байршуулалт нь нийт 2,048 чиглэлийг зөвшөөрдөг тул энэ хэрэгсэл нь 2,000 хүртэлх холболтыг хүлээн авдаг.
Эх сурвалжийн URL-д яагаад асуулгын тэмдэгт (query string) ашиглаж болохгүй вэ?
Энэхүү үүсгэгч нь зөвхөн яг таг таарах замыг боловсруулахад зориулагдсан. Nginx, Apache болон Vercel орчнууд нь асуулгын тэмдэгтүүдийг өөр өөрөөр боловсруулдаг тул алдаанаас сэргийлэх үүднээс эх сурвалжийн хаягт асуулгын тэмдэгт эсвэл фрагмент оруулахыг хориглодог.