Really Simple Security – Simple and Performant Security (formerly Really Simple SSL)
Easily improve site security with WordPress Hardening, Two-Factor Authentication (2FA), Login Protection, Vulnerability Detection and SSL certificate. Really simple, Effective and Performant WordPress Security Really Simple Security is the most lightweight and easy-to-use security plugin for WordPress. It secures your WordPress website with SSL certificate generation, including proper 301 https redirection and SSL enforcement, scanning for possible vulnerabilities, Login Protection and implementing essential WordPress hardening features. We believe that security should have the absolute minimum effect on website performance, user experience and maintainability. Therefore, Really Simple Security is: Lightweight: Every security feature is developed with a modular approach and with performance in mind. Disabled features won’t load any redundant code. Easy-to-use: 1-minute configuration with short onboarding setup. Security Features Easy SSL Migration Migrates your website to HTTPS and enforces SSL in just one click. 301 redirect via PHP or .htaccess Secure cookies Let’s Encrypt: Install an SSL Certificate if your hosting provider supports manual installation. Server Health Check: Your server configuration is every bit as important for your website security. WordPress Hardening Tweak your configuration and keep WordPress fortified and safe by tackling potential weaknesses. Prevent code execution in the uploads folder Prevent login feedback and disable user enumeration Disable XML-RPC Disable directory browsing Username restrictions (block ‘admin’ and public names) and much more.. Vulnerability Detection Get notified when plugins, themes or WP core contain vulnerabilities and need appropriate action. Login Protection Allow or enforce Two-Factor Authentication (2FA) for specific user roles. Users receive a two-factor code via Email. Improve Security with Really Simple Security Pro Protect your site with all essential security features by upgrading to Really Simple Security Pro. Advanced SSL enforcement Mixed Content Scan & Fixer. Detect files that are requested over HTTP and fix them to HTTPS, both Front- and Back-end. Enable HTTP Strict Transport Security and configure your site for the HSTS Preload list. Firewall Really Simple Security Pro includes a performant and efficient WordPress firewall, to stop bots, crawlers and bad actors with IP and username blocks. 404 blocking – Blocks crawlers as they trigger unusual numbers of 404 errors. Region blocking – Only allow/block access to your site from specific regions. Automated and customisable Firewall rules. IP blocklist and allowlist. Security Headers Security headers protect your site visitors against the risk of clickjacking, cross-site-forgery attacks, stealing login credentials and malware. Independent of your Server Configuration, works on Apache, LiteSpeed, NGINX, etc. Protect your website visitors with X-XSS Protection, X-Content-Type-Options, X-Frame-Options, a Referrer Policy and CORS headers. Automatically generate your WordPress-tailored Content Security Policy. Vulnerability Measures When a vulnerability is detected in a plugin, theme or WordPress core you will get notified accordingly. With Vulnerability Measures, you can configure simple but effective measures to make sure that a critical vulnerability won’t remain unattended. Force update: An update process will be tried multiple times until it can be assumed development of a theme or plugin is abandoned. You will be notified during these steps. Quarantine: When a plugin or theme can’t be updated to solve a vulnerability, Really Simple Security can quarantine the plugin. Advanced Site Hardening Choose a custom login URL Automated File Permissions check and fixer Rename and randomize your database prefix Change the debug.log file location to a non-public folder Disable application passwords Control admin creation Disable HTTP methods, reducing HTTP requests Login Protection Secure your website’s login process and user accounts with powerful security measures. Two-Step verification (Email login) 2FA (two factor authentication) with TOTP Passwordless login with passkey login Enforce strong passwords and frequent password change Limit Login Attempts With Limit Login Attempts you can configure a threshold to temporarily or permanently block IP addresses or (non-existing) usernames. You can also throw a CAPTCHA after a failed login (hCaptcha or Google reCaptcha) Access Control Restrict access to your site for specific regions. Add specific IP addresses or IP ranges to the Blocklist or Allowlist. Useful Links Documentation Security Definitions Translate Really Simple Security Issues & pull requests Feature requests Love Really Simple Security? If you want to support the continuing development of this plugin, please consider buying Really Simple Security Pro, which includes some excellent security features and premium support. About Really Simple Plugins Our mission is to make complex WordPress requirements really easy. Really Simple Security is developed by Really Simple Plugins. For generating SSL certificates, Really Simple Security uses the le acme2 PHP Let’s Encrypt client library, thanks to ‘fbett’ for providing it. Vulnerability Detection uses WP Vulnerability, an open-source initiative by Javier Casares. Want to join as a collaborator? We’re on GitHub as well!
Top keywords
- security27×3.54%
- really15×1.97%
- simple15×1.97%
- login14×1.84%
- really simple14×1.84%
- really simple security11×1.44%
- simple security11×1.44%
- wordpress10×1.31%
- vulnerability9×1.18%
- ssl8×1.05%
- site7×0.92%
- website6×0.79%
Snap Carousel
Most WordPress carousel plugins load heavy libraries (Slick, Swiper, jQuery) and fail basic accessibility checks. Screen readers can’t navigate them, keyboard users are stuck, and WCAG audits flag them every time. Snap Carousel takes a different approach: CSS scroll-snap does the scrolling, proper ARIA attributes do the rest. No JavaScript library, no configuration panel, no learning curve — just a block style to apply in one click. Built by WeAre[WP], a WordPress agency specializing in accessible websites and RGAA audits. This plugin exists because we needed a carousel that actually passes our own audits. Supported blocks Apply any of the 4 carousel styles to: Group block (core/group) — any child blocks become slides Query Loop block (core/query) — posts scroll as carousel slides Gallery block (core/gallery) — images scroll as carousel slides Variants Carousel (3 items) — 3 visible items + peek Carousel (1 item) — full-width slideshow Carousel (2 items) — 2 visible items + peek Carousel (4 items) — 4 visible items + peek Features 100% CSS scroll-snap — no Slick, no Swiper, no jQuery Prev/next navigation buttons Keyboard navigation (Arrow keys, Home, End) Full ARIA attributes (role=”region”, aria-roledescription, aria-live) Peek effect: partial visibility of the next item, signaling scrollable content Responsive (auto tablet/mobile adaptation) Respects prefers-reduced-motion Works with Group, Query Loop, and Gallery blocks Works with any child block (images, columns, groups, WooCommerce…) Lightweight: ~2 KB CSS + ~2 KB JS, zero external dependency Full RTL (right-to-left) language support Fully internationalized (i18n ready, French translation included) Easy to customize via CSS custom properties or overrides Accessibility (WCAG 2.2 AA) role="region" + aria-roledescription="carousel" on the container role="group" + aria-roledescription="slide" on each item aria-label="X of Y" for position context tabindex="0" for keyboard focus aria-live="polite" to announce changes Buttons with aria-label and aria-controls Touch targets 44×44px minimum Visible focus indicator Usage With a Group block In the editor, create a Group block Set the group layout to Row Add child blocks (images, groups, columns…) In the sidebar panel → Styles → choose Carousel (3 items) (or another variant) Publish With a Query Loop block Insert a Query Loop block Configure the query (post type, filters, number of items…) In the sidebar panel → Styles → choose a Carousel variant Publish — posts scroll horizontally as carousel slides With a Gallery block Insert a Gallery block and add images In the sidebar panel → Styles → choose a Carousel variant Publish — images scroll horizontally as carousel slides Navigation buttons and accessibility attributes are automatically injected on the front-end. Customization The carousel is designed to work out of the box, but you can easily override styles in your theme’s style.css or via the WordPress Customizer > Additional CSS. Disable the peek effect By default, items are slightly narrower than the visible area so the next item “peeks” in — signaling there is more content to scroll. To disable this and show full-width items: /* Disable peek — 3 items variant */ .is-style-snap-carousel > * { flex-basis: calc(33.333% - 1rem) !important; } /* Disable peek — 1 item variant */ .is-style-snap-carousel-single > * { flex-basis: 100% !important; } /* Disable peek — 2 items variant */ .is-style-snap-carousel-duo > * { flex-basis: calc(50% - 0.75rem) !important; } /* Disable peek — 4 items variant */ .is-style-snap-carousel-quad > * { flex-basis: calc(25% - 1.125rem) !important; } Customize navigation arrows /* Arrow color and background */ .snap-carousel-prev, .snap-carousel-next { background: #0073aa; color: #ffffff; border-color: #0073aa; } /* Arrow hover state */ .snap-carousel-prev:hover, .snap-carousel-next:hover { background: #005177; color: #ffffff; } /* Arrow size (default: 44px — WCAG minimum touch target) */ .snap-carousel-prev, .snap-carousel-next { width: 48px; height: 48px; } /* Square arrows instead of round */ .snap-carousel-prev, .snap-carousel-next { border-radius: 8px; } Customize spacing /* Gap between items */ [class*="is-style-snap-carousel"] { gap: 2rem; } /* Space above carousel (room for navigation) */ .snap-carousel-wrapper { padding-top: 4rem; } Customize focus indicator /* Custom focus color for keyboard navigation */ [class*="is-style-snap-carousel"]:focus-visible { outline-color: #ff6600; outline-width: 3px; } .snap-carousel-prev:focus-visible, .snap-carousel-next:focus-visible { outline-color: #ff6600; } Use with WordPress theme.json design tokens The carousel already uses --wp--preset--color--base, --wp--preset--color--contrast and --wp--preset--color--primary tokens. You can override these per-block in theme.json or via CSS: /* Example: dark themed carousel */ .snap-carousel-wrapper { --wp--preset--color--base: #1a1a2e; --wp--preset--color--contrast: #e0e0e0; --wp--preset--color--primary: #e94560; } Technical Notes – CSS overrides flex-wrap: nowrap on the Row container to force horizontal scrolling – Items use a slightly reduced flex-basis to create a peek effect (next item partially visible) – Navigation buttons are positioned absolute at the top right (adjust top value for your theme) – JS uses a 150ms debounce on scroll for button state updates and 300ms for screen reader announcements – Compatible with WooCommerce blocks (products, etc.) About Snap Carousel is built and maintained by WeAre[WP], a French WordPress agency specializing in accessible websites and RGAA compliance audits. This plugin was built to solve a real problem: every carousel plugin we audited failed basic accessibility requirements. So we built one that passes our own audits. Need help with your WordPress project? Get in touch.