Multiple query to columns indexed in MySql
This index will take care of 3 of your queries:

INDEX(title, date,  -- in either order
      category)     -- last


Then you will need two more indexes to handle the other two queries.  Assuming you use the order above, then these could be the other two.

INDEX(category)
INDEX(date)


If you have a dozen columns and users can filter on virtually any combination of them, then all you can do is guess at what is best.  Some general rules:


don't make more than a dozen indexes
use about 3 columns in each index
be sure to start some of them with the most commonly used filters


But also, ...


If the filtering is on a range (eg, price range), it should be last in the index.
Don't listen to people who talk about cardinality when arguing for a particular order of columns in a composite index.
If title is too big to be indexed, then leave it out of all indexes.  Do not use "prefix indexing" like title(20).


More discussion:  http://mysql.rjweb.org/doc.php/index_cookbook_mysql