Ich kann nicht sehen, warum du die "Anfälliger für Browserfehler" annimmst. Javascript wird genau so laufen, wie du es möchtest, wenn du dem Browser die richtigen Bibliotheken/Code sendest.
Du kannst sehen, welcher Browser die Anfrage stellt, und ihm das richtige Stück Code senden (zu verstehen als: Wenn du Code hast, der in FF & Opera funktioniert, aber nicht in IE, schreibe zwei Versionen dieses Codes, eine für jede Browsergruppe). Es gibt einige Bibliotheken, die dir dabei helfen können.
Außerdem sollte ein Vergleich nicht auf der Serverseite durchgeführt werden. Also, wenn du viel Traffic auf deiner Website hast, sollte die Arbeit auf der Clientseite für solche Dinge ausreichen.
Hinsichtlich des Codeschutzes hast du recht. Auf der Serverseite kann niemand deinen Code lesen. Also musst du entscheiden, ob die Serverlast wichtiger ist als Menschen, die deinen Code lesen.
Denke auch daran, dass du deinen Code obfuskieren kannst. Ich weiß, das ist nicht die beste Lösung, aber es wird viele Leute davon abhalten, ihn zu lesen.
EDIT:
Wenn du es auf der Serverseite machst, funktionieren die Dinge wie erwartet auf allen Geräten (wie du bereits gesagt hast). Aber es gibt einige Dinge, die du tun musst, um die Serverlast davon abzuhalten, auf 100% zu steigen.
Chandra Sekhar Walajap
hat dir bereits über den Vorteil des Verwendens einer Art Cache für die Ergebnisse erzählt. Ich persönlich würde einen Schritt weiter gehen, da du all diese Seiten nur durchsuchst.
Ich würde einen Crawler erstellen, der beispielsweise alle 24 Stunden läuft und jedes Produkt abruft/durchsucht. Dann würde ich all diese Produkte irgendwohin speichern (zu verstehen als in einer Datenbank oder wo auch immer du möchtest). Auf diese Weise, wenn ein Benutzer eine Anfrage für einen Vergleich zwischen den Produkten A und B stellt, musst du nicht alle Seiten abrufen/durchsuchen, sondern nur an der Stelle nach diesen Produkten suchen, wo du sie gespeichert hast, und sie dem Benutzer anzeigen.
Beachte, dass dies eine Menge Bandbreite spart, nur wenn du viele Benutzer hast, die viele Produkte vergleichen.
Andererseits, wenn nur wenige Benutzer nach nur wenigen Produkten suchen, wird dir diese Art von Lösung überhaupt nicht nutzen, weil du weißt, alles von allen Seiten alle 24 Stunden abzurufen, ist viel Nutzung, sowohl in der CPU als auch in der Bandbreite.
Hinsichtlich der Serverlast: Ich kann es nicht sagen. Es hängt von so vielen Dingen ab, dass es fast unmöglich ist zu sagen. Du musst berücksichtigen, wie groß die Website ist, die du durchsuchst, wie viele Produkte es auf jeder Website gibt. Welche Hardware verwendest du? Am besten machst du ein einfaches Beispiel mit cURL und rufst alles von einer der Websites ab. Dann siehst du, wie sich das auf die Leistung auswirkt, und entscheidest.