Mediplus is a website template for medical clinics, family practices and specialist centres, built on Bootstrap 5, with a clean, professional look. The layout is responsive and works on phones, tablets and desktops. It comes with three pages: a one-page home, an appointment page and a blog post.
The home page presents your clinic, its services, departments and doctors, animated statistics, recent blog posts and patient reviews, with an appointment form, a contact form and a map, under a sticky menu and parallax page headers. The appointment page holds the booking form, and the blog post page has a sidebar, so you can share health tips with your patients. Use Mediplus as it is or adapt it to your own clinic’s brand.
What’s new in 3.0
Bootstrap 5.3.8 (the earlier release used Bootstrap 4.2.1 and jQuery), compiled from Sass with the original proportions and colours, and plain JavaScript with no jQuery. Swiper 14 replaces Owl Carousel on the patient reviews, Jarallax replaces Stellar on the page headers, small built-in modules replace Waypoints, animate.css and animateNumber for the scroll reveals and counters, and Lucide SVG icons replace four icon fonts. npm run build (Dart Sass and esbuild) compiles one minified stylesheet and one script.
Lighter pages: the three pages together went from 7.08 MB and 149 requests to 2.16 MB and 85 requests, and the download from 3.42 MB to 2.14 MB. Every photo has an AVIF version with the JPEG as the fallback, the blog post page’s photos have real dimensions and lazy loading, the hero photo is preloaded, and the full-screen preloader and unused plugins such as Magnific Popup, AOS and Scrollax are gone.
No third-party requests: Poppins is self-hosted, the social logos come from a small Font Awesome Brands subset (the Twitter bird is now the X logo), the contact map is OpenStreetMap, loaded only when a visitor clicks “Show map”, and a Google Analytics 4 snippet stays commented out until you add your own ID. Before, every page loaded its web fonts from Google Fonts and a maps script from Google.
Working forms: the appointment form asks for the department, doctor, date and time, refuses past dates and times outside opening hours, and sends through php/appointment.php; the “Book now” buttons and the department links open it with that doctor or department already chosen. The contact and comment forms send through their own PHP handlers. All three use a safe mailer, with validation, a spam trap and an in-page message. Before, no form sent anything, and the consultation form had no labels, no email field and plain text fields for the date and time.
A real blog: six distinct posts by the clinic’s doctors, each opened by blog-single.html?post=ID with its own title, photos, author and comments, and a sidebar whose search, category and tag filters list the matching posts. Before, all six post cards had the same title and opened the same page.
Accessibility: a skip link and a main landmark, labelled form fields, names on icon-only links, visible focus rings, doctors’ social links that also appear for keyboard users (they showed on mouse hover only), larger slider dots and WCAG AA text contrast, with deeper blue and coral for text and buttons, dark text on the bright blue top strip, counter and review bands, darker grey body text and a soft scrim behind the home hero text.
Fixed: footer links turned white and unreadable on hover, the review slider clipped its text on phones, every department showed the same stethoscope icon (each now has its own) and “Cardiology” appeared twice, the menu’s Home link pointed at a missing section, and the top bar, department, doctor, footer and blog links went nowhere; every link now goes somewhere. The demo content is fictional and fits a clinic, and typos such as “Opthalmology” and “Years of Experienced” are corrected.