Files
homeproz/db_content_updates/2026-01-06_mls-ssl-skip-config.md
root b6df4dbb92 Snapshot: MLS sync fixes, image refresh, plugin/theme updates
MLS plugin fixes from this session:
- Fix silent insert failures: location column NOT NULL was rejecting wpdb->insert calls,
  causing ~18k new properties since Dec 2025 to be lost. Inserts now build raw SQL
  with ST_PointFromText so the spatial column is populated atomically.
- Auto-refresh expired media URLs in MLS_Media_Handler::fetch_and_cache(), guarded by
  a property-level GET_LOCK so concurrent fetches share one API refresh.
- Normalize WP_Error to null in mls_get_property_image() so callers can rely on the
  documented string|null contract.
- Support comma-separated property_type filters in MLS_Query and MLS_Cluster so the
  homepage "View All Commercial" link (?property_type=Commercial+Sale,Land,Farm)
  actually filters correctly.
- Incremental sync now looks back 10 minutes past the latest modification timestamp
  as a safety margin against missed records.
- Smart sync exits silently (info-level, not warning) when a full sync is in progress.

Operational:
- New cron: weekly full sync Sundays at 3 AM (/usr/local/bin/mls-full-sync).
- New cron: hourly 2GB cap on mls-thumbnails/ and cache/transformed-images/
  (/usr/local/bin/mls-image-cache-cap).
- Logrotate config for wp-content/debug.log (2-day retention, daily rotation,
  delaycompress).

Repo policy:
- CLAUDE.md updated with explicit "commit everything except build artifacts" policy.
- .gitignore: untrack runtime image caches and debug.log rotations.

Other modifications in this snapshot are pre-existing in-flight theme/plugin/db_content_updates work.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 15:32:23 +00:00

1.2 KiB
Executable File

MLS Grid SSL Verification Skip

Date: 2026-01-06 Type: Server Configuration (wp-config.php)

Note: This is not a database change, but a server-level configuration change. Documented here for production sync purposes.

Issue

MLS Grid's media CDN (media.mlsgrid.com) has an expired SSL certificate, causing all image fetches to fail with SSL handshake errors. This resulted in 404 errors for property images on the site.

Solution

Enable the MLS_SKIP_SSL_VERIFY option that was added in commit 0fd8b71.

Change Required

Add to wp-config.php (after MLS Grid API settings):

// Skip SSL verification for MLS Grid media (their cert is expired)
define( 'MLS_SKIP_SSL_VERIFY', true );

Security Note

This disables SSL certificate verification only for MLS Grid media downloads. This is acceptable because:

  1. The data being fetched is public property images (not sensitive)
  2. The alternative is completely broken image functionality
  3. This should be reverted once MLS Grid renews their certificate

Verification

After applying, test an image URL:

curl -I "https://[site]/mls-image/[listing_key]/1/thumb/?sig=[signature]"

Should return HTTP 200 with content-type: image/webp.