Web
What it indexes
The Web connector turns rendered pages into OpenCore documents. Every run is a load-state crawl; start and end timestamps are ignored, so this connector does not provide incremental web polling.
HTML cleanup removes deployment-wide ignored classes and elements. The defaults include the classes sidebar,footer and the elements nav,footer,meta,script,style,symbol,aside. Operators can replace those comma-separated lists with WEB_CONNECTOR_IGNORED_CLASSES and WEB_CONNECTOR_IGNORED_ELEMENTS; they are not per-connector fields.
Prerequisites
- Allow the OpenCore doc-fetching worker to resolve and reach every target URL, redirect, PDF, and sitemap location.
- Install the Playwright Chromium runtime in the worker image. JavaScript rendering is always enabled; there is no Admin switch for static-only fetching.
- Choose the narrowest Base URL path that contains the intended content. Recursive mode has no URL exclusion list, depth limit, or page-count limit.
- Review the deployment SSRF protection setting. At the most restrictive level, the connector rejects URLs resolving to loopback, link-local, or private addresses; less restrictive settings change that boundary.
- Use certificates trusted by the worker. Browser navigation is created with HTTPS errors ignored, but connectivity checks, sitemap requests, PDF downloads, and content-type probes use the HTTP client without a certificate override. The Admin form has no certificate-verification toggle.
Credentials
Because HTTP probes and PDF requests use the connector’s fixed default headers, the deployment-wide browser OAuth header does not establish that every non-browser fetch path is authenticated. Verify the exact target mix before relying on this mode.
Configure in OpenCore
- In the Admin panel, open Connectors, select Web, and enter a descriptive connector name.
- Enter the exact Base URL. Include
https://explicitly so the intended scheme is auditable, even though a missing scheme is normalized to HTTPS by the backend. - Select recursive, single, or sitemap according to the scope table above. For sitemap mode, enter the sitemap URL rather than the site home page unless discovery is intentional.
- Enable Scroll before scraping only when required content appears after scrolling. This setting does not change single, recursive, or sitemap URL scope.
- Select OpenCore Private groups for restricted content. Choose Public only when every OpenCore account may search every page the crawl can reach.
- Set refresh and cleanup options, create the connector, and run an indexing attempt. Each refresh re-crawls the configured scope rather than applying an HTTP update window.
Permissions
The Web connector does not read or synchronize source-site users, sessions, groups, page ACLs, robots authorization, or per-page visibility. Web is not an Auto Sync Permissions source in the current Admin access selector.
Search access is controlled only by the connector’s OpenCore Private groups or Public mode. Any user with connector access can search every page emitted by the crawler, even when that user could not open the source page in a browser. A deployment-wide OAuth token also uses one shared source identity for all Web connectors on those workers.
Use separate connectors and OpenCore Private groups for audiences that must not share content. Do not use this connector to crawl mixed public and restricted paths unless the entire emitted scope may be shared with the selected OpenCore audience.
Verify
- Run the connector and inspect the attempt status for connection, Playwright, TLS, HTTP, or sitemap errors.
- Search for a distinctive title and sentence from the Base URL. Confirm navigation, footer, script, and other ignored content is absent as intended.
- For recursive mode, test one descendant URL, one sibling path outside the Base URL, one URL on a different port, and one external-authority link. Only the descendant with the same normalized network authority should be indexed.
- For single mode, confirm linked pages are absent. For sitemap mode, compare indexed document IDs with the sitemap locations and check that child sitemap URLs were not mistaken for content pages.
- If scrolling is enabled, compare a known lazy-loaded sentence with a run that has scrolling disabled.
- Test an HTML redirect and a PDF redirect separately. Rendered HTML redirects should use the final URL as document ID and link; PDF redirects should retain the initially configured URL. Also compare duplicate rendered HTML pages with duplicate PDFs because only rendered HTML uses title-and-content deduplication.
- Test every assigned OpenCore group and a user outside those groups because the source site is not re-authorized at search time.