Cộng đồng trực tuyến nơi các chuyên gia, nhà phát triển và người mới bắt đầu trong lĩnh vực thiết kế web có thể giao lưu, chia sẻ kiến thức và trao đổi kinh nghiệm. Thảo luận về các công nghệ mới, xu hướng thiết kế, công cụ và phần mềm, cũng như đặt câu hỏi và nhận được sự giúp đỡ từ cộng đồng rộng lớn. Nơi để học hỏi, mà còn là nơi để xây dựng mối quan hệ, tìm kiếm cơ hội hợp tác và tăng cường mạng lưới chuyên môn trong lĩnh vực thiết kế web.
Đăng trả lời
thanh.webseo
Bài viết: 149
Ngày tham gia: Sat Feb 17, 2024 5:53 pm

Chuỗi chuyển hướng và Chuyển hướng bằng Javascript

Gửi bài by thanh.webseo »

Xin chào,

Một chuỗi chuyển hướng thường được xác định là một trang chuyển hướng đến một trang khác mà chính nó cũng là một chuyển hướng khác.

URL1 ---(301/302)---> URL2 ---(301/302)---> URL3

Nhưng chuyển hướng bằng Javascript thì sao? Chúng dường như là một con thú khác:

URL1 ---(301/302)---> URL2 ---(200 sau đó chuyển hướng bằng Javascript)---> URL3

Từ những gì tôi biết, nếu chuyển hướng bằng javascript diễn ra ngay lập tức, Google sẽ coi đó là một chuyển hướng vĩnh viễn 301, nhưng tôi vẫn không chắc chắn liệu điều này có được coi là một chuỗi chuyển hướng hay không.

Hầu hết các công cụ (như moz) chỉ nhìn thấy chuyển hướng đầu tiên.

Vì vậy, liệu tình huống đó có được coi là một chuỗi chuyển hướng hay không?
admin
Site Admin
Bài viết: 135
Ngày tham gia: Sat Feb 17, 2024 3:22 pm

Re: Chuỗi chuyển hướng và Chuyển hướng bằng Javascript

Gửi bài by admin »

Trong tình huống mà bạn mô tả, khi có một chuỗi các chuyển hướng liên quan đến cả các chuyển hướng HTTP (301/302) và một chuyển hướng bằng JavaScript, có thể coi đó là một chuỗi chuyển hướng. Điểm chính là mỗi bước trong chuỗi đóng góp vào điểm đến cuối cùng của URL.

Trong ví dụ của bạn:

    URL1 chuyển hướng đến URL2 bằng cách sử dụng mã trạng thái HTTP 301/302.
    URL2, sau khi nhận được phản hồi HTTP 200, kích hoạt một chuyển hướng bằng JavaScript đến URL3.

Từ góc nhìn của Google, nếu chuyển hướng bằng JavaScript xảy ra ngay lập tức và không tạo ra độ trễ, có thể nó sẽ xem xét nó tương tự như một chuyển hướng vĩnh viễn 301 truyền thống. Tuy nhiên, điều quan trọng cần lưu ý là các công cụ tìm kiếm có thể hiểu khác nhau về chuyển hướng bằng JavaScript, và hành vi của chúng có thể thay đổi theo thời gian.

Công cụ như Moz đôi khi có thể tập trung vào chuyển hướng HTTP ban đầu và không đi sâu vào các bước tiếp theo, có thể bỏ qua chuỗi chuyển hướng hoàn chỉnh. Do đó, có thể xảy ra sự không nhất quán trong những gì các công cụ khác nhau báo cáo.

Để hiểu rõ hơn, bạn có thể xem xét việc sử dụng công cụ hoặc phương pháp cụ thể để phân tích các chuyển hướng dựa trên JavaScript hoặc kiểm tra các yêu cầu mạng trong các công cụ phát triển của trình duyệt để xem toàn bộ chuỗi chuyển hướng. Điều này sẽ giúp bạn có cái nhìn rõ ràng hơn về cách các công cụ tìm kiếm và các công cụ khác nhau hiểu về toàn bộ chuỗi chuyển hướng, bao gồm cả các chuyển hướng HTTP và JavaScript.
thanh.webseo
Bài viết: 149
Ngày tham gia: Sat Feb 17, 2024 5:53 pm

Re: Chuỗi chuyển hướng và Chuyển hướng bằng Javascript

Gửi bài by thanh.webseo »

Cảm ơn bạn về phản hồi sâu sắc. Mặc dù mã hiện tại thực thi thành công, nhưng nó không thể chính xác theo dõi chuỗi chuyển hướng. Vấn đề nằm ở tính phân tán của các chuyển hướng được ghi nhận, được minh họa bằng các chuyển tiếp cô lập A->B, B->C và C->D, trong đó các số hash (channel_1 và channel_2) được tạo ra ngẫu nhiên. Điều này làm gián đoạn sự liên tục của chuỗi chuyển hướng, không phản ánh sự tiến triển thực tế từ A qua D. Mục tiêu là theo dõi hiệu quả toàn bộ hành trình, A->B->C->D, qua các kỹ thuật chuyển hướng khác nhau như meta-refresh, JavaScript và các chuyển hướng HTTP. Bạn có thể cung cấp hướng dẫn về cách tinh chỉnh mã để duy trì tính toàn vẹn của chuỗi chuyển hướng, đảm bảo một ánh xạ liên kết và tuần tự của quá trình chuyển hướng?
thanh.webseo
Bài viết: 149
Ngày tham gia: Sat Feb 17, 2024 5:53 pm

Re: Chuỗi chuyển hướng và Chuyển hướng bằng Javascript

Gửi bài by thanh.webseo »

Cảm ơn, mã hoạt động, nhưng không như mong đợi: A->B->C->D (channel_1 -> channel_2 -> channel_3 -> channel_4).

Trong trường hợp của tôi, nó sẽ ghi lại một chuỗi chuyển hướng từ A->B->C->D như sau:

A->B (channel_1 -> channel_2), sau đó B->C (channel_1 -> channel_2), C->D (channel_1 -> channel_2); trong đó channel_1 & channel_2 là các số hash ngẫu nhiên.

Vì vậy, tôi không thể liên kết chuỗi lại với nhau. Đó sẽ là chiến lược để ghi lại chuỗi sự kiện (khi các trang chuyển hướng bằng cách sử dụng, meta-refresh, javascript, http...)?
admin
Site Admin
Bài viết: 135
Ngày tham gia: Sat Feb 17, 2024 3:22 pm

Re: Chuỗi chuyển hướng và Chuyển hướng bằng Javascript

Gửi bài by admin »

window.location.replace('http:// example .com');

Việc sử dụng replace() là tốt hơn việc sử dụng window.location.href = 'http:// example .com';

Sử dụng replace() tốt hơn vì nó không giữ trang gốc trong lịch sử phiên, nghĩa là người dùng sẽ không bị mắc kẹt trong một tình huống nhấp nút quay lại không có hồi kết.

Nếu bạn muốn mô phỏng việc ai đó nhấp vào một liên kết, hãy sử dụng window.location.href.

Nếu bạn muốn mô phỏng một chuyển hướng HTTP, hãy sử dụng window.location.replace.

Bạn cũng có thể sử dụng các phương thức assign() và replace() để chuyển hướng javascript đến các trang khác như sau:

location.assign("http:// example .com");

Sự khác biệt giữa phương thức replace() và assign(), là replace() loại bỏ URL của tài liệu hiện tại khỏi lịch sử tài liệu, nghĩa là không thể sử dụng nút "quay lại" để điều hướng trở lại tài liệu gốc. Vì vậy, hãy sử dụng phương thức assign() nếu bạn muốn tải một tài liệu mới và muốn cung cấp tùy chọn để quay lại tài liệu gốc.
Đăng trả lời